Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Netzwerkplugin - eigener Listener?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    - √ - Netzwerkplugin - eigener Listener?

    Hallo,

    gibt es mit Hilfe des Netzwerkplugins die Möglichkeit auf alle Strings die per Netzwerk reinkommen zu triggern?

    Der Wert könnte dann in tigger[value] erreichbar sein und in den Logiken kann man seine Auswertungen machen.

    Hintergrund: Nicht immer sendet man seine UDP Telegramme selber und kann damit auf den Aufbau einfluss nehmen. So würde ich zB gerne auch auf einen String "Hallo Welt" reagieren können.


    Noch zwei Fragen nebenbei:
    Was hat es mit den Feldern destionation und by aus dem Array trigger auf sich? Bei mir steht da immer nur None und 'Item' drin.
    Habe ich die Source IP bei Netzwerktriggern in den Logiken im Zugriff?

    VG

    Mode

    #2
    Habs gefunden.
    Funktioniert leider noch nicht ganz:
    plugin.conf
    Code:
    [nw]
        class_name = Network
        class_path = plugins.network
        udp = yes
    item.conf
    Code:
    [netzwerk]
        [[enigma]]
            [[[power]]]
                type = str
                nw_udp_listen = 9902
                enforce_updates = true
    logic.conf
    Code:
    [Logi_LAN]
        filename = logi_licht.py
        watch_item = netzwerk.enigma.power
    Ich sende
    Code:
    echo 'Holladiewaldfee!' | nc -u -w 1 192.168.6.xx 9902
    Im Log sehe ich:
    Code:
    2013-03-16 13:30:33,672 SmartHome.py DEBUG    udp:0.0.0.0:9902 Incoming connection from 192.168.6.xx:47961 -- __init__.py:handle_read:157
    In die logi.licht.py geht er aber nicht rein.. :-(

    Kommentar


      #3
      Hab den Fehler gefunden.

      Code:
      nw_udp_listen = 9902
      muss in der logic.conf stehen.

      Welchen Sinn hat dieser Eintrag in der item.conf wenn er auch in der logic.conf stehen muss?

      VG

      Mode

      Kommentar


        #4
        Zitat von mode Beitrag anzeigen
        Code:
        nw_udp_listen = 9902
        Welchen Sinn hat dieser Eintrag in der item.conf wenn er auch in der logic.conf stehen muss?
        Wer sagt denn das er in beiden Stehen muss?
        Wenn Du das bei einem Item konfigurierst wird der Wert der an diesen Port geschickt wird als Wert dem Item zugewiesen.

        Bei der Logic wird die Logic mit dem Wert aufgerufen der an den Port geschickt wird.

        Bis bald

        Marcus

        Kommentar


          #5
          Stimmt, aber erster Weg (mit Item) scheint bei mir nicht zu funktionieren. Siehe meine Config von 13:33.

          Oder habe ich da was vergessen?

          LG

          Kommentar


            #6
            Sorry, da war ein Bug drin. Ist in github gefixed.

            Aber löse Dich doch von dem enforce_updates. Wieso willst Du das immer einsetzen?

            Bis bald

            Marcus

            Kommentar


              #7
              Hehe, stimmt schon.
              Aber im Falle einer Lautstärkeregelung ist es doch noch halbwegs sinnvoll oder?
              Wenn ich zB. per Netzwerk eine Laustärke schrittweise erhöhen möchte, so sende ich so viele 'Vol+' UDP pakete bis die gewünschte Lautstärke erreicht ist.
              Ohne enforce würde doch nur das erste Paket interpretiert, oder?

              VG

              Mode

              Kommentar


                #8
                Dein Bugfix funktioniert.
                Genau an die Stelle hatte ich mich auch schon debuggt. Hatte mich nur nicht getraut da Coding einzufügen.
                Daher bin ich auch auf die Idee mit dem direkten Triggern der Logik ohne Item gekommen.

                Danke!

                Kommentar


                  #9
                  Zitat von mode Beitrag anzeigen
                  Aber im Falle einer Lautstärkeregelung ist es doch noch halbwegs sinnvoll oder?
                  Wenn ich zB. per Netzwerk eine Laustärke schrittweise erhöhen möchte, so sende ich so viele 'Vol+' UDP pakete bis die gewünschte Lautstärke erreicht ist.
                  Ohne enforce würde doch nur das erste Paket interpretiert, oder?
                  ja, das ist korrekt. Es gibt Sonderfälle in denen es notwendig ist z.B. Licht/Lautstärke und Mediensteuerung (XBMC & Co.).
                  Bei 98% der Items ist es nicht notwendig. Sonst hätte ich den Parameter per default auf true gesetzt.

                  Bis bald

                  Marcus

                  Kommentar

                  Lädt...
                  X