Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage udp senden mit openHAB item

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

    Frage udp senden mit openHAB item

    Hallo,

    ich bin totaler Einsteiger im openHAB, bislang habe ich mittels Arduino Uno meine Rollläden und Beleuchtung per Funk gesteuert, dieser
    bekommt udp "befehle" von einer Website auf meiner NAS.

    Ich würde aber gern OpenHAB dafür einsetzten.
    Aller Anfang ist ziemlich schwer, anhand der Doku, habe ich es schon mal soweit verstanden, dass ich Items anlege und diese in Gruppen
    zusammenfasse und auch eine Sitemap erstelle, um es zu visualisieren.

    Momentan ist es so aufgebaut, dass per UDP für jedes Kommando ein eigenen Befehl hat, Rollladen1auf, Rolladen1zu, Licht1ein, Lich1aus
    usw.

    Ich bin aber noch nicht dahinter gekommen, wie ich im OpenHAB dem Item zuordne bei An sende diesen udp Befehl und bei Aus den usw.?
    Wie und wo mache ich das im OpenHAB?

    Es gibt zwar das Beispiel: tcp=">[ON:192.168.0.1:3000:'MAP(my.device.map)')], >[OFF:192.168.0.1:3000:'MAP(my.device.map)']"

    sagt mir aber irgendwie nicht viel und vor Allem wo muss das hin. Und was davon wird gesendet?!?!?

    Danke
    LG
    Jens


    #2
    hi, du musst das direkt als binding ins item eintragen - z.B.:

    Code:
     Beispiel: Switch  DeinItem      "Testitem"   <deinIcon> (DeineGruppe)   { udp[COLOR=#333333][FONT=Consolas][SIZE=14px]=">[ON:192.168.0.1:3000:'MAP(my.device.map)')], >[OFF:192.168.0.1:3000:'MAP(my.device.map)']"[/SIZE][/FONT][/COLOR] }
    siehe auch https://github.com/openhab/openhab/w...f-items#syntax

    ach - ja, du hast oben tcp angegeben, wenn du udp-telegramme haben möchtest, musst du natürlich udp eintragen. ist aber im binding selbst erklärt.

    Kommentar


      #3
      Hallo Lordas,

      jup, meinte natürlich udp.
      OK, soweit klappt es, allerdings sendet openHAB dann nur ON\n\r oder OFF\n\r
      Wenn ich dass [ON: ändere in z.B. [Schalter1An: dann geht es nicht.
      Wie bekomme ich es denn hin, dass er einen anderen Text sendet und das bei jedem Item anders?

      Habe es schon mit dem .map probiert, aber ich kann da nur zwischen ON und OFF unterscheiden,
      aber nicht Light_GF_Living_Table bei ON soll "Schalter1AN" gesendet werden
      OFF soll "Schalter1Aus" gesendet werden usw.

      Light_GF_Living_Roof bei ON soll "Schalter5AN" gesendet werden

      OFF soll "Schalter5Aus" gesendet werden usw.

      oder müsste ich für jeden einzelnen Schalter dann eine eigenen .map Datei erstellen?

      Danke
      LG
      Jens

      Kommentar


        #4
        habs zwar noch nicht getestet, aber es sollte/könnte eigentlich auch so funktionieren:
        Code:
        udp[COLOR=#333333][FONT=Consolas][SIZE=14px]=">[ON:192.168.0.1:3000:'Schalter1An')], >[OFF:192.168.0.1:3000:'Schalter1Aus']"[/SIZE][/FONT][/COLOR]

        Kommentar


          #5
          hatte ich auch schon dran gedacht, leider nicht, dann wird nur ON oder OFF gesendet...

          Kommentar


            #6
            Hi,

            ich habe es selber auch noch nicht ausprobiert, muss aber selber die Tage das mal testen.

            Get denn das?


            udp=">[Schalter1An:192.168.0.1:3000]

            Kommentar


              #7
              Hi,


              Leider auch Erfolglos....

              Kommentar


                #8
                Also, normalerweise sollte es so funktionieren: Das Item so:
                Code:
                 { udp[COLOR=#333333][FONT=Consolas][SIZE=14px]=">[192.168.0.1:3000:'MAP(my.device.map)')][/SIZE][/FONT][/COLOR]
                und dann in der Datei my.device.map (im Verzeichnis transformation?) zwei Definitionen
                Code:
                ON=Schalter1An
                OFF=Schalter1Aus

                Kommentar


                  #9
                  Hallo,

                  ja, das funktioniert, ich kann die Datei auch lampen.map nennen.
                  Allerdings müsste ich für jedes Item eine solche Datei anlegen, damit jedes Item auch einen unterschiedlichen Befehl sendet.

                  Gibt es eine Möglichkeit in einer Mapping Datei mehrere Items zum abzubilden?

                  So das nicht nur nach ON oder OFF geschaut wird sondern als Beispiel:

                  Light_GF_Living_Roof ON=Schalter1An
                  Light_GF_Living_Roof OFF=Schalter1Aus
                  Light_GF_Living_Left ON=Schalter2An
                  Light_GF_Living_Left OFF=Schalter2Aus


                  Aus meinem probieren habe ich rausgefunden, dass das System dann das letzt ON oder OFF in der Datei sucht.

                  Da ich aber die Syntax nicht kenne und leider so nicht gefunden habe,
                  ist es mit einem Sytax in der MAP Datei möglich gleich alle Items aufzulisten?

                  Danke
                  LG
                  Jens

                  Kommentar


                    #10
                    Da Du Switches verwendest, kann das Item nur drei States haben, ON, OFF und uninitialized. Vermutlich musst Du die Mapping-Datei nicht unbedingt verwenden und kannst auch feste Zeichenketten verschicken, vielleicht musst Du den String, der geschickt werden soll anders markieren als mit einzelnen ' <---

                    Kommentar


                      #11
                      Ah OK, dass könnte man Probieren, " geht logischerweise nicht, da dann ja beim rsten " der udp="...." beendet wäre.
                      evtl. ohne hinschreiben?!?!?

                      udp=">[ON:192.168.0.1:3000:Lampe1An]
                      oder in ()

                      udp=">[ON:192.168.0.1:3000: (Lampe1An)]

                      Probiere ich mal wenn ich zu Haus bin.

                      Kommentar


                        #12
                        grad Probiert, Leider auch nicht....

                        Sieht wohl eher danach aus, dass für jedes item dann eine eigene Datei her muss...

                        Falls noch jemand ne Idee hat, gerne her damit.

                        Danke
                        LG
                        Jens

                        Kommentar


                          #13
                          Hi Jens,

                          bist du weitergekommen? Ich habe an meinen AV Receiver einen Lantronix UDS1100 gehangen und versuche ihn mit den UPD Paketen zu steuern.

                          Bisher leider erfolglos...

                          Kommentar


                            #14
                            Hi Miki84,

                            ja und nein.
                            Bezüglich udp senden ja, dass ganze in einer Datei zu verpacken leider nein.

                            Also im Moment ist mein Stand, für jedes Item eine MAP Datei.
                            Code:
                             [SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][B]Switch[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Light_GF_Living_Table [/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"[U]Tisch[/U]"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (GF_Living, Lights) {udp=[/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]">[ON:192.168.1.11:8888:'MAP(WZTisch.map)'], >[OFF:192.168.1.11:8888:'MAP(WZTisch.map)']"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]}[/SIZE]
                              [SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][B]Switch[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Light_GF_Living_Table2 [/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"Tisch2"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (GF_Living, Lights) {udp=[/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]">[ON:192.168.1.11:8888:'MAP(WZTisch2.map)'], >[OFF:192.168.1.11:8888:'MAP(WZTisch2.map)']"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]}[/SIZE]
                            
                            [SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][B]Rollershutter[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Shutter_GF_Toilet [/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"Toilet"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (GF_Toilet, Shutters) {udp=[/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]">[UP:192.168.1.11:8888:'MAP(Rolladen.map)'], >[STOP:192.168.1.11:8888:'MAP(Rolladen.map)'], >[DOWN:192.168.5.178:8888:'MAP(Rolladen.map)']"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]}[/SIZE]
                            und hättest Dann die 3 MAP Dateien:
                            WZTisch.map
                            WZTisch2.map
                            Rolladen.map

                            je bei den Switch MAP Dateien, vor den = ist halt der OpenMAP befehlt und hinter dem = kommt das was als udp gesendet wird.:
                            Code:
                             ON=Befehl1
                            OFF=Befehlt2
                            beim Rollladen halt so:
                            Code:
                             UP=BefehltAuf
                            STOP=BefehlStop
                            DOWN=BefehltZu

                            Kommentar


                              #15
                              Die Unterscheidung der verschiedenen Befehle sollte nicht nötig sein, das Mapping wird einfach für jeden Befehl ausgeführt, der über das Item rein kommt. Das Binding sollte also auch so funktionieren:
                              Code:
                              Switch Light_GF_Living_Table "Tisch" (GF_Living, Lights) {udp=">[192.168.1.11:8888:'MAP(WZTisch.map)']"}

                              Kommentar

                              Lädt...
                              X