Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. ESPresence - MQTT - JSON? auswerten in Blockly

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

ESPresence - MQTT - JSON? auswerten in Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
10 Beiträge 4 Kommentatoren 1.3k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • panikP Offline
    panikP Offline
    panik
    schrieb am zuletzt editiert von panik
    #1

    Moin,
    ich versuche nun seit geraumer Zeit etwas mit den Werten anzufangen die mir ESPresence via MQTT an IOBroker schickt. Ich habe die Lösungen und Videos zu der Möglichkeit gelesen den Zeitstempel auszulesen, aber ich hätte es gerne etwas eleganter und würde dabei noch was lernen.
    Wenn ich das bisher richtig verstanden habe ist das Format der Daten die ESPresence mir schickt JSON?!
    Sieht bei mir so aus:

    {
      "id": "7c2f80xxxxxx",
      "idType": 55,
      "rssi@1m": -71,
      "rssi": -50,
      "raw": 0.25,
      "distance": 0.35,
      "speed": -0.01,
      "mac": "7c2f80xxxxxx",
      "interval": 1205
    }
    

    Also könnte ich ja den Wert distance auswerten, der sich häufig ändert.
    Ich habe dann versucht die lösungen hier im Forum die JSON werte von einer URL abrufen für mich umzusetzen aber das klappt garnicht.
    Zuletzt habe ich mit einer Ausgabe im debug log geschaut ob und was überhaupt passiert
    Screenshot 2022-09-24 at 14-17-16 javascript - IOBROKER.png
    Aber da passiert nichts, also habe ich da ein Gundletgendes Problem das ich nicht sehe :anguished:
    Warum passiert da nichts, der wert ändert sich nahezu sekündlich aber anscheinend triggert das nicht?!?
    Frage wäre also warum nichts passiert und wie ich die Werte so auseinaander genommen bekomme das ich die distance dann in Blockly nutzen kann?

    paul53P ? 2 Antworten Letzte Antwort
    0
    • panikP panik

      Moin,
      ich versuche nun seit geraumer Zeit etwas mit den Werten anzufangen die mir ESPresence via MQTT an IOBroker schickt. Ich habe die Lösungen und Videos zu der Möglichkeit gelesen den Zeitstempel auszulesen, aber ich hätte es gerne etwas eleganter und würde dabei noch was lernen.
      Wenn ich das bisher richtig verstanden habe ist das Format der Daten die ESPresence mir schickt JSON?!
      Sieht bei mir so aus:

      {
        "id": "7c2f80xxxxxx",
        "idType": 55,
        "rssi@1m": -71,
        "rssi": -50,
        "raw": 0.25,
        "distance": 0.35,
        "speed": -0.01,
        "mac": "7c2f80xxxxxx",
        "interval": 1205
      }
      

      Also könnte ich ja den Wert distance auswerten, der sich häufig ändert.
      Ich habe dann versucht die lösungen hier im Forum die JSON werte von einer URL abrufen für mich umzusetzen aber das klappt garnicht.
      Zuletzt habe ich mit einer Ausgabe im debug log geschaut ob und was überhaupt passiert
      Screenshot 2022-09-24 at 14-17-16 javascript - IOBROKER.png
      Aber da passiert nichts, also habe ich da ein Gundletgendes Problem das ich nicht sehe :anguished:
      Warum passiert da nichts, der wert ändert sich nahezu sekündlich aber anscheinend triggert das nicht?!?
      Frage wäre also warum nichts passiert und wie ich die Werte so auseinaander genommen bekomme das ich die distance dann in Blockly nutzen kann?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @panik sagte: Gundletgendes Problem das ich nicht sehe

      An den Trigger muss die Datenpunkt-ID übergeben werden - nicht der Wert.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      panikP 1 Antwort Letzte Antwort
      0
      • panikP panik

        Moin,
        ich versuche nun seit geraumer Zeit etwas mit den Werten anzufangen die mir ESPresence via MQTT an IOBroker schickt. Ich habe die Lösungen und Videos zu der Möglichkeit gelesen den Zeitstempel auszulesen, aber ich hätte es gerne etwas eleganter und würde dabei noch was lernen.
        Wenn ich das bisher richtig verstanden habe ist das Format der Daten die ESPresence mir schickt JSON?!
        Sieht bei mir so aus:

        {
          "id": "7c2f80xxxxxx",
          "idType": 55,
          "rssi@1m": -71,
          "rssi": -50,
          "raw": 0.25,
          "distance": 0.35,
          "speed": -0.01,
          "mac": "7c2f80xxxxxx",
          "interval": 1205
        }
        

        Also könnte ich ja den Wert distance auswerten, der sich häufig ändert.
        Ich habe dann versucht die lösungen hier im Forum die JSON werte von einer URL abrufen für mich umzusetzen aber das klappt garnicht.
        Zuletzt habe ich mit einer Ausgabe im debug log geschaut ob und was überhaupt passiert
        Screenshot 2022-09-24 at 14-17-16 javascript - IOBROKER.png
        Aber da passiert nichts, also habe ich da ein Gundletgendes Problem das ich nicht sehe :anguished:
        Warum passiert da nichts, der wert ändert sich nahezu sekündlich aber anscheinend triggert das nicht?!?
        Frage wäre also warum nichts passiert und wie ich die Werte so auseinaander genommen bekomme das ich die distance dann in Blockly nutzen kann?

        ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #3

        @panik Moin Versuch es mal so:

        Screenshot 2022-09-24 at 16.01.22.png

        1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @panik sagte: Gundletgendes Problem das ich nicht sehe

          An den Trigger muss die Datenpunkt-ID übergeben werden - nicht der Wert.

          panikP Offline
          panikP Offline
          panik
          schrieb am zuletzt editiert von panik
          #4

          @paul53 Danke das hat mir schon mal bei dem grundlegendem Problem geholfen.
          Ich habe nun auch den Wert den ich brauche aus dem Datenstrom (keine ahnung ob das json ist oder nicht) extrahieren können.
          Habe ein paar sachen die ich hier gelesen hatte probiert, wenn ich den Json objekt konverter nutze werden aus den " zeichen, einfache ' mehr ist mir da nicht aufgefallen.
          Ich denke so kann ich weiter arbeiten, aber es interessiert mich ob ich die werte auch "eleganter" extrahieren und nutzen kann, irgendwie ist meine lösung in meinen augen ein Provisorium :) aber ich kann halt mit RegEx oder javascrit direkt nichts anfangen :confused:

          Screenshot 2022-09-24 at 16-00-15 javascript - IOBROKER.png
          Screenshot 2022-09-24 at 15-59-42 logs - IOBROKER.png

          @ciddi89
          Deine Lösung habe ich, glaube ich, zuvor etwas angepasst ausprobiert aber da funktionierte das mit den Triggern nicht, aber vieleicht bekomme ich das damit noch eleganter hin...

          ? 1 Antwort Letzte Antwort
          0
          • panikP panik

            @paul53 Danke das hat mir schon mal bei dem grundlegendem Problem geholfen.
            Ich habe nun auch den Wert den ich brauche aus dem Datenstrom (keine ahnung ob das json ist oder nicht) extrahieren können.
            Habe ein paar sachen die ich hier gelesen hatte probiert, wenn ich den Json objekt konverter nutze werden aus den " zeichen, einfache ' mehr ist mir da nicht aufgefallen.
            Ich denke so kann ich weiter arbeiten, aber es interessiert mich ob ich die werte auch "eleganter" extrahieren und nutzen kann, irgendwie ist meine lösung in meinen augen ein Provisorium :) aber ich kann halt mit RegEx oder javascrit direkt nichts anfangen :confused:

            Screenshot 2022-09-24 at 16-00-15 javascript - IOBROKER.png
            Screenshot 2022-09-24 at 15-59-42 logs - IOBROKER.png

            @ciddi89
            Deine Lösung habe ich, glaube ich, zuvor etwas angepasst ausprobiert aber da funktionierte das mit den Triggern nicht, aber vieleicht bekomme ich das damit noch eleganter hin...

            ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von Ein ehemaliger Benutzer
            #5

            @panik auf welchen Datenpunkt triggerst du denn?

            panikP 1 Antwort Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

              @panik auf welchen Datenpunkt triggerst du denn?

              panikP Offline
              panikP Offline
              panik
              schrieb am zuletzt editiert von
              #6

              @ciddi89 Ich hatte zu beginn mit dem Wert versucht zu triggern aber da passierte nichts, jetzt triggert die Datenpunkt-ID.
              Habe das Jetzt mal mit deiner lösung umgesetzt, auch das klappt nun wunderbar :blush:
              Screenshot 2022-09-24 at 16-15-30 javascript - IOBROKER.png
              Screenshot 2022-09-24 at 16-15-04 logs - IOBROKER.png

              paul53P 1 Antwort Letzte Antwort
              0
              • panikP panik

                @ciddi89 Ich hatte zu beginn mit dem Wert versucht zu triggern aber da passierte nichts, jetzt triggert die Datenpunkt-ID.
                Habe das Jetzt mal mit deiner lösung umgesetzt, auch das klappt nun wunderbar :blush:
                Screenshot 2022-09-24 at 16-15-30 javascript - IOBROKER.png
                Screenshot 2022-09-24 at 16-15-04 logs - IOBROKER.png

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #7

                @panik
                Etwas einfacher:

                Bild_2022-09-24_164809324.png

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                M 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @panik
                  Etwas einfacher:

                  Bild_2022-09-24_164809324.png

                  M Offline
                  M Offline
                  MP_Trixi
                  schrieb am zuletzt editiert von MP_Trixi
                  #8

                  @paul53
                  Hallo, ich hoffe es ist ok mich hier dranzuhängen :relaxed:
                  Ich hole mir im einem Blockly mit exec per curl ein JSON (denke mal das ist eins). Das funktioniert auch:
                  6be41ea3-efe7-4c02-9ff9-32ebcdc49a71-image.png
                  Das ist der vollständige curl den ich verwende:
                  curl --digest -u [USER]:[PASSWORD] -H 'accept: application/json' -H 'content-type: application/json' --compressed '[URL]'

                  Zurück bekomme ich folgendes:
                  {"U19639862":[{"yr":2022,"mon":11,"dom":17,"imp":1346040,"exp":60,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":1,"imp":4306560,"exp":180,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":2,"imp":2824320,"exp":300,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":3,"imp":2531580,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":4,"imp":2265540,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":5,"imp":5135640,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":6,"imp":6107100,"gep":11640,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":7,"imp":1843860,"exp":1700280,"gep":3014640,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":8,"imp":4287180,"exp":385369,"gep":1468327,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":9,"imp":1484160,"exp":290160,"gep":2062320,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":10,"imp":223440,"exp":2646660,"gep":4492560,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":11,"imp":478620,"exp":7434720,"gep":11400120,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":12,"imp":969780,"exp":4711920,"gep":8420280,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":13,"imp":4778700,"exp":403560,"gep":7861260,"gen":1680,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":14,"imp":854040,"exp":367080,"gep":2401500,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":15,"imp":5258700,"exp":60,"gep":138600,"gen":600,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":16,"imp":2661059,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":17,"imp":7027140,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":18,"imp":3920580,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":19,"imp":6025500,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":20,"imp":2147220,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":21,"imp":7385220,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":22,"imp":12272700,"h1b":4451100,"h2b":4522740,"h3b":5760,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":23,"imp":31262640,"h1b":12451800,"h2b":12618180,"h3b":14460,"dow":"Thu"}]}

                  Hier möchte ich nun alle h1b, h2b und h3b Werte aufaddieren und durch 3600000 teilen (hier nur in den Stunden 22 und 23 vorhanden). Aber ich schaffe es nicht die Felder anzusprechen. Hat mir jemand einen Tipp?

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • M MP_Trixi

                    @paul53
                    Hallo, ich hoffe es ist ok mich hier dranzuhängen :relaxed:
                    Ich hole mir im einem Blockly mit exec per curl ein JSON (denke mal das ist eins). Das funktioniert auch:
                    6be41ea3-efe7-4c02-9ff9-32ebcdc49a71-image.png
                    Das ist der vollständige curl den ich verwende:
                    curl --digest -u [USER]:[PASSWORD] -H 'accept: application/json' -H 'content-type: application/json' --compressed '[URL]'

                    Zurück bekomme ich folgendes:
                    {"U19639862":[{"yr":2022,"mon":11,"dom":17,"imp":1346040,"exp":60,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":1,"imp":4306560,"exp":180,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":2,"imp":2824320,"exp":300,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":3,"imp":2531580,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":4,"imp":2265540,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":5,"imp":5135640,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":6,"imp":6107100,"gep":11640,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":7,"imp":1843860,"exp":1700280,"gep":3014640,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":8,"imp":4287180,"exp":385369,"gep":1468327,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":9,"imp":1484160,"exp":290160,"gep":2062320,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":10,"imp":223440,"exp":2646660,"gep":4492560,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":11,"imp":478620,"exp":7434720,"gep":11400120,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":12,"imp":969780,"exp":4711920,"gep":8420280,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":13,"imp":4778700,"exp":403560,"gep":7861260,"gen":1680,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":14,"imp":854040,"exp":367080,"gep":2401500,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":15,"imp":5258700,"exp":60,"gep":138600,"gen":600,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":16,"imp":2661059,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":17,"imp":7027140,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":18,"imp":3920580,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":19,"imp":6025500,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":20,"imp":2147220,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":21,"imp":7385220,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":22,"imp":12272700,"h1b":4451100,"h2b":4522740,"h3b":5760,"dow":"Thu"},{"yr":2022,"mon":11,"dom":17,"hr":23,"imp":31262640,"h1b":12451800,"h2b":12618180,"h3b":14460,"dow":"Thu"}]}

                    Hier möchte ich nun alle h1b, h2b und h3b Werte aufaddieren und durch 3600000 teilen (hier nur in den Stunden 22 und 23 vorhanden). Aber ich schaffe es nicht die Felder anzusprechen. Hat mir jemand einen Tipp?

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @mp_trixi sagte: Zurück bekomme ich folgendes:

                    Bild_2022-11-18_135659922.png

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    M 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @mp_trixi sagte: Zurück bekomme ich folgendes:

                      Bild_2022-11-18_135659922.png

                      M Offline
                      M Offline
                      MP_Trixi
                      schrieb am zuletzt editiert von MP_Trixi
                      #10

                      @paul53 Hammer - Danke! Und wie fix.
                      Habs jetzt so:
                      82e191ba-ef03-4d9e-8c7f-ad1a44fa3669-image.png
                      Das will ich täglich in einen Datenpunkt mit history schreiben. Dazu noch zwei Fragen:

                      • ich habe damit die Möglichkeit Werte der Vergangenheit zu ermitteln. Bekomme ich die auch in den Datenpunkt zu dem entsprechenden Datum?
                      • die Daten werden rückwirkend für den Tag zuvor ermittelt. Wie bekomme ich es hin, dass der Wert dann in den Datenpunk mit Datum-1 Tag geschrieben wird (ähnlich wie erste Frage)?
                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      733

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe