Ankündigung

Einklappen
Keine Ankündigung bisher.

String mit Item Namen und Values per TCP empfangen

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

    String mit Item Namen und Values per TCP empfangen

    Moin....
    ich sende an OH einen String der Item Namen und die dazugehörigen Values enthält.

    Code:
    String = "itemname1=value1;itemname2=value2;itemname3=value3"
    Diesen String teile ich dann mit split in drei einzelne Strings.
    Nun kann ich natürlich sagen das das postupdate(itemname1,value1)
    Hierbei muss ich natürlich jedes Item postupdate per Hand tippen....
    Kann man hier nicht irgendwie eine Schleife bauen ?
    Mein Problem ist hierbei das ich es nicht schaffe für den Itemnamen eine Variable einzusetzen.

    postupdate(variable, value1) funktioniert nicht.

    Hat hier jemand eine Idee ?

    P.s. Ich hoffe es war einigermaßen verständlich....
    OpenHAB 1.6.2 auf AsRock Q1900 NAS mit Openmediavault, Java8 Version 1.8.0_33-0031

    #2
    Mal blöd gefragt: warum schickst Du die Items nicht einzeln (also über die Rest-API), Du musst 'auf der anderen Seite' ja ein Script haben, was die Werte zusammenpackt, das könnte doch ebenso gut direkt die Items updaten, dann brauchst Du auf openHAB-Seite nur die Items.

    Mit der Schleife gäbe es ja auch ein Problem, selbst wenn Du z.B. mit einer Gruppe es schaffst, dass die Items nacheinander durchlaufen werden, musst Du ja den Split genau zuordnen, brauchst also noch einiges drumherum, das dürfte auch nicht einfacher sein.

    Kommentar


      #3
      Moin...
      in meinem anderen System kann ich meines Wissens kein HTTP.post etc....
      Dann hatte ich zunächst die Items über das TCP Binding einzeln geupdated, aber da kamm es dann teilweise zum Verlust von Mitteilungen.
      Wenn ich nun die Daten alle immer in einem String schicke habe ich nicht die Gefahr das Mitteilungen verloren gehen bzw. sich überschreiben....
      OpenHAB 1.6.2 auf AsRock Q1900 NAS mit Openmediavault, Java8 Version 1.8.0_33-0031

      Kommentar


        #4
        curl wäre die passende Anwendung.
        Code:
        curl --header "Content-Type: text/plain" --request PUT --data "$2" http://openhab.bla.blub:8080/rest/items/Itemname/state
        so mache ich das.

        Wenn das mit dem String gut funktioniert, würde ich jedenfalls den pragmatischen Weg gehen, bei drei Items dürfte der Overhead für eine 'elegante' Variante größer sein, als die items 'dumm' direkt zu befüllen.

        Kommentar


          #5
          Schau mal hier:
          https://knx-user-forum.de/openhab/37...rchlaufen.html

          Die Gruppe durchlaufen, Itemname mit deinem String vergleichen.

          Holger

          Kommentar

          Lädt...
          X