UDP Befehlserkennung

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • asenden
    Smart Home'r
    • 03.02.2021
    • 40

    #1

    UDP Befehlserkennung

    Hallo zusammen,

    versuchen seit Stunden den richtigen String für die UDP Befehlserkennung zusammen zu bauen

    Vom Shelly kommt folgendes zurück: {"src":"shelly1minig3-XXXXXXXXXX","dst":"*","method":"NotifyStatus","par ams":{"ts":1751958907.74,"bthomesensor:202":{"la st_updated_ts":1751958907,"value":false}}}

    Den st_updated_ts timestamp würde ich gerne überspringen, weil sich hier der Wert ohnehin permanent ändert.

    Ich möchte auf bthomesensor:202 reagieren und dann den Wert auslesen. Idealerweise bei True eine 1 und bei False eine 0

    Diese UDP message kommt von einem Shelly Mini Gen3, an den ein Bluetooth Fensterkontakt gekoppelt ist. Dies scheint mir die günstigste Lösung, den Öffnungsstatus eines dachfl´ächenfenster auszulesen, zu sein.

    Ich hätte es auch über die Shelly API gemacht, aber die Doku ist eine Katastrophe.

    Kann mir Jemand helfen den "Befehlserkennungs" String zusammenzubauen? Ich dachte, dass es in der Config dafür irgendwo auch eine Art Simulator dafür gibt. Kann den aber in der Config 16 nicht mehr finden.

    Danke im Voraus
  • X-TRA78
    Smart Home'r
    • 31.01.2019
    • 31

    #2
    Ich denke so könnte es gehen (nicht getestet)

    \ibthomesensor:202\i\ivalue":\i\1

    gibt dann bei false den Wert 102 (ASCII von "f") und bei true 116 (ASCII von "t") zurück.

    Den Rest könntest du z.B. über die Korrektur machen

    Eingangswert 1 : 102
    Zielwert 1 : 0
    Eingangswert 2 : 116
    Zielwert 2 : 1​

    , oder über einen Status Baustein.

    Kommentar

    • asenden
      Smart Home'r
      • 03.02.2021
      • 40

      #3
      Besten Dank !

      Hatte es in der Zwischenzeit über einen HTTP Endpunkt (http://192.168.40.104/rpc/Shelly.GetComponents) realisiert. Aber die UDP Einbindung mit Deinem Input finde ich eleganter :-)

      Kommentar

      Lädt...