Virtueller HTTP Eingang intepretieren

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Chrone
    Smart Home'r
    • 03.05.2019
    • 83

    Virtueller HTTP Eingang intepretieren

    Hallo zusammen

    Ich tue mich gerade schwer damit, die HTTP Werte richtig zu interpretieren.
    Die SimpleAPI von ioBroker gibt folgendes aus:

    [{"id":"roomba.0.states.battery","val":100,"ts": 162 1077133123},{"id":"roomba.0.states.status","val":" charge","ts":1621078020796},{"id":"roomba.0.states .binFull","val":false,"ts":1621077133125}]

    Gerne möchte ich die drei "val" Werte einlesen.
    Den ersten Wert habe ich wie folgt einlesen können: roomba.0.states.battery","val":\v
    Die nächsten beiden Werte sind leider Text-Werte. Wie lese ich dies in Loxone ein?
    - roomba.0.states.status","val":" charge"
    - roomba.0.states .binFull","val":false

    Gibt es eine schlaue Art den HTTP Eingangsbefehl zu debuggen? Aktuell muss ich bei jeder Anpassung in Loxone die Konfiguration runterschreiben, was doch sehr zeitintensiv ist.

    Besten Dank für eure Hilfe.
  • hme0354
    MS Profi
    • 06.07.2019
    • 931

    #2
    Hast du einen loxberry? Dann kanst du das ganze an das mqtt plugin weiterleiten und dort in zahlen konvertieren.
    Smarthome: 1x Miniserver Gen. 2, 3x Relay Extensions, 1x Tree Extension, 1x DI-Extension, 1x Air Base Extension, 8x RGBW Tree Dimmer, 9x Touch-Tree, 1x Nano DI Tree, 10x Tree BWM
    Technik: IDM Aero SLM 3-11 mit HGL, MS4H mit 9 Zonen, 2x Loxberry, 2x RPI für Anzeige, Doorbird, Froggit WH2600, POE+ System für Peripherie, Gedad Luftgütesensoren, Deconz (Bridge + 2x BWM + 2x RGBW + 5 Smartplug)

    Kommentar

    • romildo
      Lebende Foren Legende
      • 25.08.2015
      • 5036

      #3
      Chrone
      Der Virtuelle HTTP Eingang kann über \v nur Werte anzeigen, charge und false sind aber Texte und keine Werte.
      Mit \1 kann der Dezimalwert vom ersten Zeichen (ASCII) eingelesen werden.
      Wenn da also z.B. false oder true unterschieden werden soll, kann man das so machen.
      Bei false käme so der Wert 102 (Dezimalwert von f)
      Bei true käme so der Wert 116 (Dezimalwert von t)

      Man könnte also einen HTTP Eingang nehmen und als Befehlserkennung
      roomba.0.states .binFull","val":\1
      eingeben.
      Wenn man dann noch den Korrekturwert anpasst, kann man auch direkt 0 für false und 1 für true einstellen.
      Beispiel:
      Eingangswert 1 ist 102
      Zielwert 1 ist 0
      Eingangswert 2 ist 116
      Zielwert 2 ist dann 1

      Bei "charge" kommt halt darauf an was da sonst noch alles kommen kann.

      Diesbezüglich gibt es aber schon einige Threads hier im Forum, welche über die Suche zu finden sein sollten.
      Zuletzt geändert von romildo; 15.05.2021, 17:41.
      lg Romildo

      Kommentar

      • Chrone
        Smart Home'r
        • 03.05.2019
        • 83

        #4
        Danke euch für die rasche Hilfe.

        Ich habe es nun mit roomba.0.states .binFull","val":\1 gelöst und interpretiere die Werte wie Status-Baustein.
        Angehängte Dateien

        Kommentar

        • Icy
          Smart Home'r
          • 12.03.2017
          • 65

          #5
          Hallo!

          Super, das hat für mich auch perfekt funktioniert. Dürfte ich nur fragen woher du das mit dem \1 wusstest. Davon hab ich in der Doku von Loxone nichts gefunden. Da stellt sich mir nämlich die Frage, was man da alles noch mit Parametern erreichen könnte die "geheim" sind.

          LG

          Kommentar

          • romildo
            Lebende Foren Legende
            • 25.08.2015
            • 5036

            #6
            Icy
            Klick mal im Eigenschalftsfenster auf das i bei der Befehlserkennung, oder schau auf das Infofenster wenn das Feld Befehlserkennung aktiviert ist.
            Zudem steht es auch in der Loxonedokumentation.

            Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Befehlserkennung1.png Ansichten: 0 Größe: 111,8 KB ID: 431154
            lg Romildo

            Kommentar

            Lädt...