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. ioBroker Allgemein
  4. Verfügbarkeit von Sensoren über Node Red überwachen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    359

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Verfügbarkeit von Sensoren über Node Red überwachen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
426 Beiträge 5 Kommentatoren 62.4k Aufrufe 4 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.
  • S Schmetterfliege

    Ich bin gerade etwas überfordert mit den Link Nodes...
    I know, du möchtest eigentlich nicht meinen Flow komplett analysieren. Also falls dir das zu doof ist - kein Thema :)

    89430c5c-5ea4-4e5b-87dd-482c81e0003a-image.png

    Long Story short:
    die beiden IOB IN Nodes triggern den gleichen Flow. Beide triggern "gleichzeitig" weil die Sensoren immer beide Werte gleichzeitig liefern.
    Eine der beiden Call Nodes landet aber immer im Timeout.
    In dem Flow in den das ganze rein geht habe ich eine Trigger Node die 500ms wartet.
    Ist das das Problem?
    Die Werte kommen zwar gleichzeitig, werden aber nacheinander abgearbeitet - logisch.
    Wert1 triggert den Flow und damit den 500ms Trigger.
    Wert2 möchte den Flow auch triggern, geht aber nicht weil dieser noch beschäftigt ist (500ms Trigger) und wird deshalb verworfen.
    -> Call Node landet im Timeout weil sie niemals eine Rückmeldung bekommt.
    Ist meine Vermutung richtig?

    Ich hab bisher nur mit Subflows gearbeitet, und da hat ja jeder "run" seine eigene Instanz - ich kann einen Subflow also gleichzeitig mehrfach triggern. Gilt das für das im Bild oben nicht?

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #263

    @schmetterfliege Damit Du siehst das es kein Timing Problem an sich mit den call Nodes gibt - hier ein kleines Beispiel:

    638952be-51b5-4b7c-b927-9178fe143efd-image.png

    [
       {
           "id": "5c333c85f193c1f2",
           "type": "inject",
           "z": "02dece3d313bbbd7",
           "name": "",
           "props": [
               {
                   "p": "trigger",
                   "v": "true",
                   "vt": "bool"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "x": 750,
           "y": 2840,
           "wires": [
               [
                   "ec0da7abf6aaf8fa",
                   "a5e07309bf0e9031"
               ]
           ]
       },
       {
           "id": "ec0da7abf6aaf8fa",
           "type": "change",
           "z": "02dece3d313bbbd7",
           "name": "= true",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "true",
                   "tot": "bool"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 890,
           "y": 2800,
           "wires": [
               [
                   "b1eaaa4ed927cef5"
               ]
           ]
       },
       {
           "id": "a5e07309bf0e9031",
           "type": "change",
           "z": "02dece3d313bbbd7",
           "name": "= false",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "false",
                   "tot": "bool"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 890,
           "y": 2880,
           "wires": [
               [
                   "b1eaaa4ed927cef5"
               ]
           ]
       },
       {
           "id": "b1eaaa4ed927cef5",
           "type": "link call",
           "z": "02dece3d313bbbd7",
           "name": "translate",
           "links": [
               "a2aa9a0ec8c8eb77"
           ],
           "linkType": "static",
           "timeout": "30",
           "x": 1080,
           "y": 2840,
           "wires": [
               [
                   "7eb349fe96570ee2"
               ]
           ]
       },
       {
           "id": "a2aa9a0ec8c8eb77",
           "type": "link in",
           "z": "02dece3d313bbbd7",
           "name": "IN - Flow3",
           "links": [],
           "x": 745,
           "y": 2980,
           "wires": [
               [
                   "86933cd5be489856"
               ]
           ]
       },
       {
           "id": "960939a36290d062",
           "type": "link out",
           "z": "02dece3d313bbbd7",
           "name": "link out 1",
           "mode": "return",
           "links": [],
           "x": 1075,
           "y": 2980,
           "wires": []
       },
       {
           "id": "86933cd5be489856",
           "type": "change",
           "z": "02dece3d313bbbd7",
           "name": "",
           "rules": [
               {
                   "t": "change",
                   "p": "payload",
                   "pt": "msg",
                   "from": "true",
                   "fromt": "bool",
                   "to": "Die Nachricht war \"true\"",
                   "tot": "str"
               },
               {
                   "t": "change",
                   "p": "payload",
                   "pt": "msg",
                   "from": "false",
                   "fromt": "bool",
                   "to": "Die Nachricht war \"false\"",
                   "tot": "str"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 920,
           "y": 2980,
           "wires": [
               [
                   "960939a36290d062"
               ]
           ]
       },
       {
           "id": "7eb349fe96570ee2",
           "type": "debug",
           "z": "02dece3d313bbbd7",
           "name": "result",
           "active": true,
           "tosidebar": true,
           "console": false,
           "tostatus": false,
           "complete": "payload",
           "targetType": "msg",
           "statusVal": "",
           "statusType": "auto",
           "x": 1250,
           "y": 2840,
           "wires": []
       }
    ]
    

    Auch das geht ohne Probleme

    96976b39-0e28-4459-9f4f-c272895d9892-image.png

    [
       {
           "id": "5c333c85f193c1f2",
           "type": "inject",
           "z": "02dece3d313bbbd7",
           "name": "",
           "props": [
               {
                   "p": "trigger",
                   "v": "true",
                   "vt": "bool"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "x": 750,
           "y": 2840,
           "wires": [
               [
                   "ec0da7abf6aaf8fa",
                   "a5e07309bf0e9031"
               ]
           ]
       },
       {
           "id": "ec0da7abf6aaf8fa",
           "type": "change",
           "z": "02dece3d313bbbd7",
           "name": "= true",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "true",
                   "tot": "bool"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 890,
           "y": 2800,
           "wires": [
               [
                   "b1eaaa4ed927cef5"
               ]
           ]
       },
       {
           "id": "a5e07309bf0e9031",
           "type": "change",
           "z": "02dece3d313bbbd7",
           "name": "= false",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "false",
                   "tot": "bool"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 890,
           "y": 2880,
           "wires": [
               [
                   "2035e8b0681790e5"
               ]
           ]
       },
       {
           "id": "b1eaaa4ed927cef5",
           "type": "link call",
           "z": "02dece3d313bbbd7",
           "name": "translate",
           "links": [
               "a2aa9a0ec8c8eb77"
           ],
           "linkType": "static",
           "timeout": "30",
           "x": 1080,
           "y": 2800,
           "wires": [
               [
                   "7eb349fe96570ee2"
               ]
           ]
       },
       {
           "id": "a2aa9a0ec8c8eb77",
           "type": "link in",
           "z": "02dece3d313bbbd7",
           "name": "IN - Flow3",
           "links": [],
           "x": 745,
           "y": 2980,
           "wires": [
               [
                   "86933cd5be489856"
               ]
           ]
       },
       {
           "id": "960939a36290d062",
           "type": "link out",
           "z": "02dece3d313bbbd7",
           "name": "link out 1",
           "mode": "return",
           "links": [],
           "x": 1075,
           "y": 2980,
           "wires": []
       },
       {
           "id": "86933cd5be489856",
           "type": "change",
           "z": "02dece3d313bbbd7",
           "name": "",
           "rules": [
               {
                   "t": "change",
                   "p": "payload",
                   "pt": "msg",
                   "from": "true",
                   "fromt": "bool",
                   "to": "Die Nachricht war \"true\"",
                   "tot": "str"
               },
               {
                   "t": "change",
                   "p": "payload",
                   "pt": "msg",
                   "from": "false",
                   "fromt": "bool",
                   "to": "Die Nachricht war \"false\"",
                   "tot": "str"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 920,
           "y": 2980,
           "wires": [
               [
                   "960939a36290d062"
               ]
           ]
       },
       {
           "id": "7eb349fe96570ee2",
           "type": "debug",
           "z": "02dece3d313bbbd7",
           "name": "result",
           "active": true,
           "tosidebar": true,
           "console": false,
           "tostatus": false,
           "complete": "payload",
           "targetType": "msg",
           "statusVal": "",
           "statusType": "auto",
           "x": 1250,
           "y": 2840,
           "wires": []
       },
       {
           "id": "2035e8b0681790e5",
           "type": "link call",
           "z": "02dece3d313bbbd7",
           "name": "translate",
           "links": [
               "a2aa9a0ec8c8eb77"
           ],
           "linkType": "static",
           "timeout": "30",
           "x": 1080,
           "y": 2880,
           "wires": [
               [
                   "7eb349fe96570ee2"
               ]
           ]
       }
    ]
    

    Wie gesagt - Du musst halt aufpassen das Du die Originalnachricht behälst - wenn Du es nur in einer Flowvariablen speicherst ohne zurückzugeben, dann hast du das Problem. Bei der call Nodes gibst Identifikationsmerkmale die prüfen, ob die Originalnachricht wieder zurückgegeben wird - ansonsten gibts den timeout.

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

      die beiden IOB IN Nodes triggern den gleichen Flow. Beide triggern "gleichzeitig" weil die Sensoren immer beide Werte gleichzeitig liefern.
      Eine der beiden Call Nodes landet aber immer im Timeout.

      Dann machs halt nicht - langt doch wenn Du in einen Zweig - ich seh auch keinen Wert das überhaupt aus dem Flow rauszunehmen. Wenn der timeout kommt, dann liegt es nur daran, dass Du nicht alles zurück gibst. Da braucht es keine Verzögerung.

      Schau Dir mal den Flow - an - der läuft auch parallel ab:

      434208c3-ffcd-4b29-be4b-b95c5e4dd54b-image.png

      Wie gesagt ich bin der Meinung ist - dass Du keine call Nodes brauchst und Timeout gibts nur, wenn der Flow das ursprüngliche Nachrichtenobjekt nicht wieder zurück gibt. Es geht - aber momentan hast Du doch andere Sorgen, als Dich hier um call Nodes zu kümmern. Im prinzip musst Du doch nur den Zeitstempel speichern und die topic mit ins Objekt aufnehmen.

      S Offline
      S Offline
      Schmetterfliege
      schrieb am zuletzt editiert von
      #264

      @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

      @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

      die beiden IOB IN Nodes triggern den gleichen Flow. Beide triggern "gleichzeitig" weil die Sensoren immer beide Werte gleichzeitig liefern.
      Eine der beiden Call Nodes landet aber immer im Timeout.

      Dann machs halt nicht - langt doch wenn Du in einen Zweig - ich seh auch keinen Wert das überhaupt aus dem Flow rauszunehmen. Wenn der timeout kommt, dann liegt es nur daran, dass Du nicht alles zurück gibst. Da braucht es keine Verzögerung.

      Schau Dir mal den Flow - an - der läuft auch parallel ab:

      Wie gesagt ich bin der Meinung ist - dass Du keine call Nodes brauchst und Timeout gibts nur, wenn der Flow das ursprüngliche Nachrichtenobjekt nicht wieder zurück gibt. Es geht - aber momentan hast Du doch andere Sorgen, als Dich hier um call Nodes zu kümmern. Im prinzip musst Du doch nur den Zeitstempel speichern und die topic mit ins Objekt aufnehmen.

      Ich glaube ich bin gerade an einem ganz anderen Punkt als du^^
      3ec8afba-fc19-4b0b-a8bf-bc32b07b455a-image.png
      Ich habe alles was mit den Flowvariablen zu tun hat in einen gesonderten Flow gepackt, weil entweder alles oder gar nichts - ich beziehe mich ja permanent auf die Kontextdaten. Dementsprechend muss alles in einem Flow passieren.
      Das Initialisieren funktioniert Problemlos. Die Berechnung der Zeitdiff mache ich dort auch.
      Zuerst werden alle Zigbee-Adapter Daten aus IOB geholt, gecheckt ob "Multisensor" im Gerätename ist und der Name sowie der Raum abgespeichert.
      Nach 200ms werden dann die Daten für die einzelnen Sensoren (haben ja vorher die Topics rausgesucht) aus IOB geholt und für jedes Gerät abgespeichert.
      Die Zeitdiff mache ich dann da wo die Humidity gesetzt wird für jedes Gerät einzeln.
      Nach der Initialisierung hat jedes Gerät alle Daten abgespeichert, die ich möchte.
      Das funktioniert wie gesagt problemlos.

      Das Problem ist das Aktualisieren der Tabelle.
      Weil da ja dann nur für 1 Gerät ein Update kommt, ich die Zeitdifferenz aber für alle Sensoren neu berechnen möchte.
      Also muss ich mir aus den Kontextvariablen alle Timestamps holen und für jedes Gerät die Differenz neu berechnen.
      Variablen in Payload packen -> Splitten -> für jeden Payload die Topic anpassen -> Zeit formatieren weil fromNow() nicht mit Unix timestamps klappt -> Differenz abspeichern.
      Und weil es 17 Sensoren sind muss ich da irgendwas einbauen das verhindert dass es 17 Rückmeldungen gibt.
      Und das pausiert den Flow, auch wenn es nur ganz kurz ist.
      Wenn der Teil im unteren roten Kasten nicht in Verwendung ist bekomme ich keinen Timeout.
      Also muss da ja irgendwas dafür sorgen dass es keine zweite Rückmeldung gibt...

      mickymM 2 Antworten Letzte Antwort
      0
      • S Schmetterfliege

        @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

        @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

        die beiden IOB IN Nodes triggern den gleichen Flow. Beide triggern "gleichzeitig" weil die Sensoren immer beide Werte gleichzeitig liefern.
        Eine der beiden Call Nodes landet aber immer im Timeout.

        Dann machs halt nicht - langt doch wenn Du in einen Zweig - ich seh auch keinen Wert das überhaupt aus dem Flow rauszunehmen. Wenn der timeout kommt, dann liegt es nur daran, dass Du nicht alles zurück gibst. Da braucht es keine Verzögerung.

        Schau Dir mal den Flow - an - der läuft auch parallel ab:

        Wie gesagt ich bin der Meinung ist - dass Du keine call Nodes brauchst und Timeout gibts nur, wenn der Flow das ursprüngliche Nachrichtenobjekt nicht wieder zurück gibt. Es geht - aber momentan hast Du doch andere Sorgen, als Dich hier um call Nodes zu kümmern. Im prinzip musst Du doch nur den Zeitstempel speichern und die topic mit ins Objekt aufnehmen.

        Ich glaube ich bin gerade an einem ganz anderen Punkt als du^^
        3ec8afba-fc19-4b0b-a8bf-bc32b07b455a-image.png
        Ich habe alles was mit den Flowvariablen zu tun hat in einen gesonderten Flow gepackt, weil entweder alles oder gar nichts - ich beziehe mich ja permanent auf die Kontextdaten. Dementsprechend muss alles in einem Flow passieren.
        Das Initialisieren funktioniert Problemlos. Die Berechnung der Zeitdiff mache ich dort auch.
        Zuerst werden alle Zigbee-Adapter Daten aus IOB geholt, gecheckt ob "Multisensor" im Gerätename ist und der Name sowie der Raum abgespeichert.
        Nach 200ms werden dann die Daten für die einzelnen Sensoren (haben ja vorher die Topics rausgesucht) aus IOB geholt und für jedes Gerät abgespeichert.
        Die Zeitdiff mache ich dann da wo die Humidity gesetzt wird für jedes Gerät einzeln.
        Nach der Initialisierung hat jedes Gerät alle Daten abgespeichert, die ich möchte.
        Das funktioniert wie gesagt problemlos.

        Das Problem ist das Aktualisieren der Tabelle.
        Weil da ja dann nur für 1 Gerät ein Update kommt, ich die Zeitdifferenz aber für alle Sensoren neu berechnen möchte.
        Also muss ich mir aus den Kontextvariablen alle Timestamps holen und für jedes Gerät die Differenz neu berechnen.
        Variablen in Payload packen -> Splitten -> für jeden Payload die Topic anpassen -> Zeit formatieren weil fromNow() nicht mit Unix timestamps klappt -> Differenz abspeichern.
        Und weil es 17 Sensoren sind muss ich da irgendwas einbauen das verhindert dass es 17 Rückmeldungen gibt.
        Und das pausiert den Flow, auch wenn es nur ganz kurz ist.
        Wenn der Teil im unteren roten Kasten nicht in Verwendung ist bekomme ich keinen Timeout.
        Also muss da ja irgendwas dafür sorgen dass es keine zweite Rückmeldung gibt...

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #265

        @schmetterfliege Wie gesagt - das hat damit nichts zu tun und nein Du musst die nicht in die payload packen. Mach mal den unteren Teil wie er vorher war. Also schmeiss mal das weg was Du im letzten Kästchen eingefügt hast. Meines Erachtens wurde da vorher nur das zigbee Objekt geladen und in ein Array von Objekten überführt . Mach das nochmal.
        So war das bei mir:

        6c65a8ff-5945-40cb-bf6c-1a914a3cb8e0-image.png

        Was Du mit den letzten beiden Nodes machst (function und ui_control ) - weiß ich gerade nicht - aber das sollte nochmal der Ausgangspunkt werden:
        9a1c5274-a9e5-477f-8ed0-891e795ca7ff-image.png

        Dann würde ich in der fState variable das Datum nach id speichern und nicht nach topic - also 1.Kästchen.

        Das Zeitstempel aktualisieren ist das was ich gesagt haben - da langt ein Teil um die fState Variable mit der entspechenden ID zu aktualisieren.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Antwort Letzte Antwort
        0
        • S Schmetterfliege

          @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

          @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

          die beiden IOB IN Nodes triggern den gleichen Flow. Beide triggern "gleichzeitig" weil die Sensoren immer beide Werte gleichzeitig liefern.
          Eine der beiden Call Nodes landet aber immer im Timeout.

          Dann machs halt nicht - langt doch wenn Du in einen Zweig - ich seh auch keinen Wert das überhaupt aus dem Flow rauszunehmen. Wenn der timeout kommt, dann liegt es nur daran, dass Du nicht alles zurück gibst. Da braucht es keine Verzögerung.

          Schau Dir mal den Flow - an - der läuft auch parallel ab:

          Wie gesagt ich bin der Meinung ist - dass Du keine call Nodes brauchst und Timeout gibts nur, wenn der Flow das ursprüngliche Nachrichtenobjekt nicht wieder zurück gibt. Es geht - aber momentan hast Du doch andere Sorgen, als Dich hier um call Nodes zu kümmern. Im prinzip musst Du doch nur den Zeitstempel speichern und die topic mit ins Objekt aufnehmen.

          Ich glaube ich bin gerade an einem ganz anderen Punkt als du^^
          3ec8afba-fc19-4b0b-a8bf-bc32b07b455a-image.png
          Ich habe alles was mit den Flowvariablen zu tun hat in einen gesonderten Flow gepackt, weil entweder alles oder gar nichts - ich beziehe mich ja permanent auf die Kontextdaten. Dementsprechend muss alles in einem Flow passieren.
          Das Initialisieren funktioniert Problemlos. Die Berechnung der Zeitdiff mache ich dort auch.
          Zuerst werden alle Zigbee-Adapter Daten aus IOB geholt, gecheckt ob "Multisensor" im Gerätename ist und der Name sowie der Raum abgespeichert.
          Nach 200ms werden dann die Daten für die einzelnen Sensoren (haben ja vorher die Topics rausgesucht) aus IOB geholt und für jedes Gerät abgespeichert.
          Die Zeitdiff mache ich dann da wo die Humidity gesetzt wird für jedes Gerät einzeln.
          Nach der Initialisierung hat jedes Gerät alle Daten abgespeichert, die ich möchte.
          Das funktioniert wie gesagt problemlos.

          Das Problem ist das Aktualisieren der Tabelle.
          Weil da ja dann nur für 1 Gerät ein Update kommt, ich die Zeitdifferenz aber für alle Sensoren neu berechnen möchte.
          Also muss ich mir aus den Kontextvariablen alle Timestamps holen und für jedes Gerät die Differenz neu berechnen.
          Variablen in Payload packen -> Splitten -> für jeden Payload die Topic anpassen -> Zeit formatieren weil fromNow() nicht mit Unix timestamps klappt -> Differenz abspeichern.
          Und weil es 17 Sensoren sind muss ich da irgendwas einbauen das verhindert dass es 17 Rückmeldungen gibt.
          Und das pausiert den Flow, auch wenn es nur ganz kurz ist.
          Wenn der Teil im unteren roten Kasten nicht in Verwendung ist bekomme ich keinen Timeout.
          Also muss da ja irgendwas dafür sorgen dass es keine zweite Rückmeldung gibt...

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #266

          @schmetterfliege Was machst du immer mit dem Date/Time Formatter - diese Node ist völlig überflüssig. Ich hatte die auch mal installiert (aber inzwischen runter geschmissen) - aber die ist komplett überflüssig, da die Funktion in den Change Nodes enthalten ist. Ich rate grundsätzlich davon ab - Nodes zu verwenden, deren Funktionalität mit Standardnodes ebenfalls zu erreichen ist.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          S 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @schmetterfliege Was machst du immer mit dem Date/Time Formatter - diese Node ist völlig überflüssig. Ich hatte die auch mal installiert (aber inzwischen runter geschmissen) - aber die ist komplett überflüssig, da die Funktion in den Change Nodes enthalten ist. Ich rate grundsätzlich davon ab - Nodes zu verwenden, deren Funktionalität mit Standardnodes ebenfalls zu erreichen ist.

            S Offline
            S Offline
            Schmetterfliege
            schrieb am zuletzt editiert von Schmetterfliege
            #267

            @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

            @schmetterfliege Was machst du immer mit dem Date/Time Formatter - diese Node ist völlig überflüssig. Ich hatte die auch mal installiert (aber inzwischen runter geschmissen) - aber die ist komplett überflüssig, da die Funktion in den Change Nodes enthalten ist. Ich rate grundsätzlich davon ab - Nodes zu verwenden, deren Funktionalität mit Standardnodes ebenfalls zu erreichen ist.

            Die hab ich da drin weil ich ständig Probleme mit der Change Node hatte wenn ich der einen UNIX timestamp gegeben habe.
            Keine Ahnung warum...

            @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

            @schmetterfliege Wie gesagt - das hat damit nichts zu tun und nein Du musst die nicht in die payload packen. Mach mal den unteren Teil wie er vorher war. Also schmeiss mal das weg was Du im letzten Kästchen eingefügt hast. Meines Erachtens wurde da vorher nur das zigbee Objekt geladen und in ein Array von Objekten überführt . Mach das nochmal.
            So war das bei mir:

            6c65a8ff-5945-40cb-bf6c-1a914a3cb8e0-image.png

            Was Du mit den letzten beiden Nodes machst (function und ui_control ) - weiß ich gerade nicht - aber das sollte nochmal der Ausgangspunkt werden:
            9a1c5274-a9e5-477f-8ed0-891e795ca7ff-image.png

            Dann würde ich in der fState variable das Datum nach id speichern und nicht nach topic - also 1.Kästchen.

            Das Zeitstempel aktualisieren ist das was ich gesagt haben - da langt ein Teil um die fState Variable mit der entspechenden ID zu aktualisieren.

            Ich hab jetzt ne Weile damit zugebracht den Flow wieder so hinzubekommen dass er nicht an 5 Ecken kaputt ist.
            Initialisierung ist drin und das Aktualisieren ohne das erneute Berechnen der Zeitdiff. Funktioniert.
            Das was im letzten roten Kästchen war (Die Berechnung der Zeitdiff) hab ich jetzt komplett weggeschmissen.
            1895e0ea-fff8-4c40-8676-c8aae9607d57-image.png
            Sowohl das Initialisieren als auch das Aktualisieren der Tabelle liefert mir jetzt jeweils einen Payload mit den gesamten Kontextdaten.
            Ab dann ist alles wie vorher auch, da habe ich nichts geändert.
            Die Function Node definiert die Tabelle, ui_control bastelt sie (setzt einfach nur das Topic auf das was in der Function Node geliefert wurde, das muss so damit die Tabelle funktioniert soweit ich weiß - selbst ausgedacht hab ich sie mir auf jeden Fall nicht.
            Hab die ui_control mal gelöscht - die Tabelle geht immer noch und aktualisiert auch noch. Absolut keinen blassen Schimmer ob das jetzt so soll oder nicht^^
            Die Function Node definiert aber wie gesagt wie die Tabelle aussieht - oder wie machst du das? oO

            Den Ausgangspunkt habe ich jetzt auf jeden Fall - außer dass ui_control jetzt ebenfalls draußen ist.
            Dann würde ich in der fState variable das Datum nach id speichern und nicht nach topic - also 1.Kästchen.
            Ich verstehe ehrlich gesagt nicht was du damit meinst.
            f15418e2-5936-44d2-8742-9467f91f3430-image.png
            Das sind die Daten wie sie abgespeichert sind.
            Das Zeitstempel aktualisieren ist das was ich gesagt haben - da langt ein Teil um die fState Variable mit der entspechenden ID zu aktualisieren.
            Das verstehe ich auch nicht wirklich.
            Kannst du mir visuell zeigen was du damit meinst? Was ist denn die fState Variable? Das was in der "setze msg.payload" bei rum kommt?
            Und wie sieht denn dieser eine Teil aus der reicht? Ich möchte den Zeitstempel doch gar nicht nur für ein ID aktualisieren, sondern für alle. Und den Zeitstempel (ich nehme an damit meinst du die Zeitdiff?) hätte ich eben auch gerne als Flowvariable gespeichert. Sofern ich dich richtig verstehe ist genau das der Punkt der für dich keinen Sinn macht, oder?
            Für mich macht es jedenfalls Sinn - ich möchte die Daten gerne einigermaßen persistent haben und vor Allem Zugriff drauf haben um sie überprüfen zu können. Ich möchte die nicht nur berechnen, in die Tabelle packen und dann sind sie nirgends mehr zu sehen. Mag sein dass das funktioniell keinen Unterschied macht weil so oder so die Differenz permanent neu berechnet wird. Aber mit dem Hintergrund brauch ich gar nichts in die Flowvariablen packen^^

            Naja, ich muss in 2,5 Stunden wieder auf der Matte stehen, daher: Vielen Dank für deine Hilfe, gute Nacht und bis morgen Nacht haha

            mickymM 1 Antwort Letzte Antwort
            0
            • S Schmetterfliege

              @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

              @schmetterfliege Was machst du immer mit dem Date/Time Formatter - diese Node ist völlig überflüssig. Ich hatte die auch mal installiert (aber inzwischen runter geschmissen) - aber die ist komplett überflüssig, da die Funktion in den Change Nodes enthalten ist. Ich rate grundsätzlich davon ab - Nodes zu verwenden, deren Funktionalität mit Standardnodes ebenfalls zu erreichen ist.

              Die hab ich da drin weil ich ständig Probleme mit der Change Node hatte wenn ich der einen UNIX timestamp gegeben habe.
              Keine Ahnung warum...

              @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

              @schmetterfliege Wie gesagt - das hat damit nichts zu tun und nein Du musst die nicht in die payload packen. Mach mal den unteren Teil wie er vorher war. Also schmeiss mal das weg was Du im letzten Kästchen eingefügt hast. Meines Erachtens wurde da vorher nur das zigbee Objekt geladen und in ein Array von Objekten überführt . Mach das nochmal.
              So war das bei mir:

              6c65a8ff-5945-40cb-bf6c-1a914a3cb8e0-image.png

              Was Du mit den letzten beiden Nodes machst (function und ui_control ) - weiß ich gerade nicht - aber das sollte nochmal der Ausgangspunkt werden:
              9a1c5274-a9e5-477f-8ed0-891e795ca7ff-image.png

              Dann würde ich in der fState variable das Datum nach id speichern und nicht nach topic - also 1.Kästchen.

              Das Zeitstempel aktualisieren ist das was ich gesagt haben - da langt ein Teil um die fState Variable mit der entspechenden ID zu aktualisieren.

              Ich hab jetzt ne Weile damit zugebracht den Flow wieder so hinzubekommen dass er nicht an 5 Ecken kaputt ist.
              Initialisierung ist drin und das Aktualisieren ohne das erneute Berechnen der Zeitdiff. Funktioniert.
              Das was im letzten roten Kästchen war (Die Berechnung der Zeitdiff) hab ich jetzt komplett weggeschmissen.
              1895e0ea-fff8-4c40-8676-c8aae9607d57-image.png
              Sowohl das Initialisieren als auch das Aktualisieren der Tabelle liefert mir jetzt jeweils einen Payload mit den gesamten Kontextdaten.
              Ab dann ist alles wie vorher auch, da habe ich nichts geändert.
              Die Function Node definiert die Tabelle, ui_control bastelt sie (setzt einfach nur das Topic auf das was in der Function Node geliefert wurde, das muss so damit die Tabelle funktioniert soweit ich weiß - selbst ausgedacht hab ich sie mir auf jeden Fall nicht.
              Hab die ui_control mal gelöscht - die Tabelle geht immer noch und aktualisiert auch noch. Absolut keinen blassen Schimmer ob das jetzt so soll oder nicht^^
              Die Function Node definiert aber wie gesagt wie die Tabelle aussieht - oder wie machst du das? oO

              Den Ausgangspunkt habe ich jetzt auf jeden Fall - außer dass ui_control jetzt ebenfalls draußen ist.
              Dann würde ich in der fState variable das Datum nach id speichern und nicht nach topic - also 1.Kästchen.
              Ich verstehe ehrlich gesagt nicht was du damit meinst.
              f15418e2-5936-44d2-8742-9467f91f3430-image.png
              Das sind die Daten wie sie abgespeichert sind.
              Das Zeitstempel aktualisieren ist das was ich gesagt haben - da langt ein Teil um die fState Variable mit der entspechenden ID zu aktualisieren.
              Das verstehe ich auch nicht wirklich.
              Kannst du mir visuell zeigen was du damit meinst? Was ist denn die fState Variable? Das was in der "setze msg.payload" bei rum kommt?
              Und wie sieht denn dieser eine Teil aus der reicht? Ich möchte den Zeitstempel doch gar nicht nur für ein ID aktualisieren, sondern für alle. Und den Zeitstempel (ich nehme an damit meinst du die Zeitdiff?) hätte ich eben auch gerne als Flowvariable gespeichert. Sofern ich dich richtig verstehe ist genau das der Punkt der für dich keinen Sinn macht, oder?
              Für mich macht es jedenfalls Sinn - ich möchte die Daten gerne einigermaßen persistent haben und vor Allem Zugriff drauf haben um sie überprüfen zu können. Ich möchte die nicht nur berechnen, in die Tabelle packen und dann sind sie nirgends mehr zu sehen. Mag sein dass das funktioniell keinen Unterschied macht weil so oder so die Differenz permanent neu berechnet wird. Aber mit dem Hintergrund brauch ich gar nichts in die Flowvariablen packen^^

              Naja, ich muss in 2,5 Stunden wieder auf der Matte stehen, daher: Vielen Dank für deine Hilfe, gute Nacht und bis morgen Nacht haha

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #268

              @schmetterfliege Doch die Flowvariablen brauchst du immer - da die Daten nicht jederzeit zur Verfügung stehen.

              Die Function Node definiert die Tabelle, ui_control bastelt sie (setzt einfach nur das Topic auf das was in der Function Node geliefert wurde, das muss so damit die Tabelle funktioniert soweit ich weiß - selbst ausgedacht hab ich sie mir auf jeden Fall nicht.

              Die Funktion Node macht nicht die Tabelle - zumindest in dem ursprünglichen Flow - der ui-control Node - für mich ist es nicht ersichtlich was die machen sollen. Das Objekte-Array ist eigentlich nach der JOIN Node fertig - ich kann mir höchstens vorstellen, dass in der function Node noch Formatierungsanweisungen für die Tabelle enthalten sind. - aber dann interessiert die uns in dem Kontext. nicht. OK - aber mit den Infos kann man schon arbeiten. Und die ui_control ist ja eine Change Node musst halt mal posten - was da drin steht.

              Wenn das im Moment die Objekte sind, dann ist trotzdem wichtig, dass Du noch in einer Flow-variablen sowohl die timestamps sammelst - im Einzelnen Objekt sind die unwichtig - falls Du es anzeigen willst ok - aber Du willst ja Differenz haben.

              weil fromNow() nicht mit Unix timestamps klappt

              Na ja das stimmt halt nicht - aber Du hast Dir wahrscheinlich weder meinen Thread zur Datums und Zeitverarbeitung durchgelesen - noch die Anleitung von der moments library.

              Wenn ich also Deinen timestamp aus Deinem Bild nehme

              7128ff99-d0ab-43e6-907f-edb82bab3ac4-image.png

              dann funktioniert die Differenzberechnung zum jetzigen Zeitpunkt sehr wohl.

              c88b36ec-fe1c-4724-bfa9-cda840437a36-image.png

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              S 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @schmetterfliege Doch die Flowvariablen brauchst du immer - da die Daten nicht jederzeit zur Verfügung stehen.

                Die Function Node definiert die Tabelle, ui_control bastelt sie (setzt einfach nur das Topic auf das was in der Function Node geliefert wurde, das muss so damit die Tabelle funktioniert soweit ich weiß - selbst ausgedacht hab ich sie mir auf jeden Fall nicht.

                Die Funktion Node macht nicht die Tabelle - zumindest in dem ursprünglichen Flow - der ui-control Node - für mich ist es nicht ersichtlich was die machen sollen. Das Objekte-Array ist eigentlich nach der JOIN Node fertig - ich kann mir höchstens vorstellen, dass in der function Node noch Formatierungsanweisungen für die Tabelle enthalten sind. - aber dann interessiert die uns in dem Kontext. nicht. OK - aber mit den Infos kann man schon arbeiten. Und die ui_control ist ja eine Change Node musst halt mal posten - was da drin steht.

                Wenn das im Moment die Objekte sind, dann ist trotzdem wichtig, dass Du noch in einer Flow-variablen sowohl die timestamps sammelst - im Einzelnen Objekt sind die unwichtig - falls Du es anzeigen willst ok - aber Du willst ja Differenz haben.

                weil fromNow() nicht mit Unix timestamps klappt

                Na ja das stimmt halt nicht - aber Du hast Dir wahrscheinlich weder meinen Thread zur Datums und Zeitverarbeitung durchgelesen - noch die Anleitung von der moments library.

                Wenn ich also Deinen timestamp aus Deinem Bild nehme

                7128ff99-d0ab-43e6-907f-edb82bab3ac4-image.png

                dann funktioniert die Differenzberechnung zum jetzigen Zeitpunkt sehr wohl.

                c88b36ec-fe1c-4724-bfa9-cda840437a36-image.png

                S Offline
                S Offline
                Schmetterfliege
                schrieb am zuletzt editiert von
                #269

                @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

                @schmetterfliege Doch die Flowvariablen brauchst du immer - da die Daten nicht jederzeit zur Verfügung stehen.

                Dann verstehe ich in der Tat nicht so ganz was genau du meinst :D
                Ich werde relativ spät heute Nacht frühestens wieder Zuhause sein dann nochmal versuchen nachzuvollziehen wie dein Weg genau funktioniert :)

                Die Function Node definiert die Tabelle, ui_control bastelt sie (setzt einfach nur das Topic auf das was in der Function Node geliefert wurde, das muss so damit die Tabelle funktioniert soweit ich weiß - selbst ausgedacht hab ich sie mir auf jeden Fall nicht.

                Die Funktion Node macht nicht die Tabelle - zumindest in dem ursprünglichen Flow - der ui-control Node - für mich ist es nicht ersichtlich was die machen sollen. Das Objekte-Array ist eigentlich nach der JOIN Node fertig - ich kann mir höchstens vorstellen, dass in der function Node noch Formatierungsanweisungen für die Tabelle enthalten sind. - aber dann interessiert die uns in dem Kontext. nicht. OK - aber mit den Infos kann man schon arbeiten. Und die ui_control ist ja eine Change Node musst halt mal posten - was da drin steht.

                Mit "bastelt" die Tabelle meine ich dass die Funktion Node definiert wie die Tabelle aussieht^^ Wie breit die einzelnen Spalten sind, wie die Überschriften sind, wie deren Inhalt auszusehen hat, usw.
                Die ui_control ChangeNode setzt einfach nur msg.ui_control auf msg.topic.
                Als ich gerade kurz heim gekommen bin und draufgeschaut habe, sah die Tabelle aber plötzlich so aus:
                d37b272d-2ae3-4f78-bced-dec18d311051-image.png
                Nachdem die in Change Node kurz wieder an die Stelle gepackt habe, sag die Tabelle wieder so aus wie sie aussehen sollte.
                Wie die das macht - da müsste ich mich mit der table node außeinandersetzen um das vielleicht mal zu verstehen haha.

                Wenn das im Moment die Objekte sind, dann ist trotzdem wichtig, dass Du noch in einer Flow-variablen sowohl die timestamps sammelst - im Einzelnen Objekt sind die unwichtig - falls Du es anzeigen willst ok - aber Du willst ja Differenz haben.

                weil fromNow() nicht mit Unix timestamps klappt

                Na ja das stimmt halt nicht - aber Du hast Dir wahrscheinlich weder meinen Thread zur Datums und Zeitverarbeitung durchgelesen - noch die Anleitung von der moments library.

                Wenn ich also Deinen timestamp aus Deinem Bild nehme

                7128ff99-d0ab-43e6-907f-edb82bab3ac4-image.png

                dann funktioniert die Differenzberechnung zum jetzigen Zeitpunkt sehr wohl.

                c88b36ec-fe1c-4724-bfa9-cda840437a36-image.png
                Doch, hatte ich. Die Nodes sind inzwischen auch raus, aber ich hatte wirklich Probleme damit mit den Timestamps zu arbeiten.
                Ich vermute weil ich irgendwie im Laufe des Flows die Timestamps zu Strings gemacht habe, weil in dem Fall kann ich das Problem reproduzieren. Mir wäre aber nicht bewusst dass ich das irgendwo mache, denn in den Flowvariablen stehen die als timestamps und nicht als strings. Naja, sie sind weg und es funktioniert. Also alles gut :)

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  Schmetterfliege
                  schrieb am zuletzt editiert von
                  #270

                  Ich mach mal den Teil mit der Zeitberechnung einzeln, da es ja hauptsächlich darum geht :grinning:

                  Wenn das im Moment die Objekte sind, dann ist trotzdem wichtig, dass Du noch in einer Flow-variablen sowohl die timestamps sammelst - im Einzelnen Objekt sind die unwichtig - falls Du es anzeigen willst ok - aber Du willst ja Differenz haben.

                  Ich bin wahrscheinlich echt einfach zu doof das zu verstehen, aber... die timestamps SIND in den Flowvariablen.
                  Genau so wie die Differenz.
                  Das hier ist das was aus der Join-Node rauskommt:
                  7fc60640-670f-4106-bc11-084a5dcd5d47-image.png
                  Die Zeitdiff ist aber aktuell nur vom Initialisieren der Tabelle und wird nicht aktualisiert.
                  Soll die Berechnung nicht in die FlowVariablen sondern nach der Join Node stattfinden? Meinst du das?

                  1 Antwort Letzte Antwort
                  0
                  • mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #271

                    Ehrlich gesagt - verstehe ich im Moment nicht mehr wo Du stehst - aber in der Tabelle schaut es ja so aus, als ob Du nun alles beieinander hast. Das mit der msg.ui_control dient der Tabellenformatierung - habe ich soweit nachvollzogen. Im Prinzip ist mir wie gesagt weder klar, wo Du die Timestamp setzt bzw. in die Objekte aufnimmst, noch wo Du die Zeitdifferenz berechnest.

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      Schmetterfliege
                      schrieb am zuletzt editiert von Schmetterfliege
                      #272

                      Ich versuche hier mal den Flow der die ganzen Daten sammelt zu erklären.
                      Am Ende kommt jeweils ein der Payload mit sämtlichen Flowvariablen, mit denen ich dann die Tabelle bastel.

                      ffa25cea-ab05-4023-9148-590e977de095-image.png
                      Ich habe hier vergessen zu erwähnen dass nach 500ms die Flowvariablen in den Payload geladen und rausgegeben werden, um die Tabelle dann auch darzustellen.

                      2737bd5d-c59a-409b-b9df-477fc432d024-image.png

                      78f4120d-42ae-4eee-b80e-d78c401c126c-image.png

                      EDIT: ich hab das auf einem kleinen Fernseher den ich als Monitor benutze gemacht, auf dem richtigen Monitor ist das alles leider furchtbar klein... sorry :(
                      EDIT2:
                      Das sieht zwar alles furchtbar aus, funktioniert so aber erstmal.
                      Was ich halt nicht hinbekomme ist da irgendwo einzubauen dass beim Aktualisieren eines Sensors die Zeitdifferenzen für ALLE Sensoren neu berechnet werden.

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • S Schmetterfliege

                        Ich versuche hier mal den Flow der die ganzen Daten sammelt zu erklären.
                        Am Ende kommt jeweils ein der Payload mit sämtlichen Flowvariablen, mit denen ich dann die Tabelle bastel.

                        ffa25cea-ab05-4023-9148-590e977de095-image.png
                        Ich habe hier vergessen zu erwähnen dass nach 500ms die Flowvariablen in den Payload geladen und rausgegeben werden, um die Tabelle dann auch darzustellen.

                        2737bd5d-c59a-409b-b9df-477fc432d024-image.png

                        78f4120d-42ae-4eee-b80e-d78c401c126c-image.png

                        EDIT: ich hab das auf einem kleinen Fernseher den ich als Monitor benutze gemacht, auf dem richtigen Monitor ist das alles leider furchtbar klein... sorry :(
                        EDIT2:
                        Das sieht zwar alles furchtbar aus, funktioniert so aber erstmal.
                        Was ich halt nicht hinbekomme ist da irgendwo einzubauen dass beim Aktualisieren eines Sensors die Zeitdifferenzen für ALLE Sensoren neu berechnet werden.

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #273

                        @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

                        Was ich halt nicht hinbekomme ist da irgendwo einzubauen dass beim Aktualisieren eines Sensors die Zeitdifferenzen für ALLE Sensoren neu berechnet werden.

                        Nun wie gesagt - ich kenne den Flow ja in Grundzügen, den hab ich ja mit entwickelt. Dein Schaubild unten fand ich auch etwas übersichtlicher. Wie gesagt wenn Du es nur um das aktualisieren der anderen Zeitstempel geht und Du alles aktuell hast, wenn ein Gerät triggert - dann zeig einfach die Flow variable wie die Zeitstempel gespeichert sind.

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        S 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

                          Was ich halt nicht hinbekomme ist da irgendwo einzubauen dass beim Aktualisieren eines Sensors die Zeitdifferenzen für ALLE Sensoren neu berechnet werden.

                          Nun wie gesagt - ich kenne den Flow ja in Grundzügen, den hab ich ja mit entwickelt. Dein Schaubild unten fand ich auch etwas übersichtlicher. Wie gesagt wenn Du es nur um das aktualisieren der anderen Zeitstempel geht und Du alles aktuell hast, wenn ein Gerät triggert - dann zeig einfach die Flow variable wie die Zeitstempel gespeichert sind.

                          S Offline
                          S Offline
                          Schmetterfliege
                          schrieb am zuletzt editiert von
                          #274

                          @mickym
                          998d5829-9e05-4679-8bce-c84b0046cfb1-image.png
                          Last update ist die Differenz aus der Initialisierung, timestamp ist der UNIX timestamp den ich bei jedem Update aktualisiere.
                          Also genau so abgespeichert wie ich es dann auch für die Berechnung bei der Initialisierung benutze.

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • S Schmetterfliege

                            @mickym
                            998d5829-9e05-4679-8bce-c84b0046cfb1-image.png
                            Last update ist die Differenz aus der Initialisierung, timestamp ist der UNIX timestamp den ich bei jedem Update aktualisiere.
                            Also genau so abgespeichert wie ich es dann auch für die Berechnung bei der Initialisierung benutze.

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von
                            #275

                            @schmetterfliege Nein nicht die Objekte für die Tabelle - ich sagte doch Du sollst die Zeitstempel in einer eigenen Variable ausserhalb der Tabelle speichern.

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            S 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @schmetterfliege Nein nicht die Objekte für die Tabelle - ich sagte doch Du sollst die Zeitstempel in einer eigenen Variable ausserhalb der Tabelle speichern.

                              S Offline
                              S Offline
                              Schmetterfliege
                              schrieb am zuletzt editiert von
                              #276

                              @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

                              @schmetterfliege Nein nicht die Objekte für die Tabelle - ich sagte doch Du sollst die Zeitstempel in einer eigenen Variable ausserhalb der Tabelle speichern.

                              Also die Objekte für die Tabelle speichere ich unter "Zigbee" ab.
                              e3112cfc-eeb9-4d58-94aa-24d0e2b2dc30-image.png
                              Meinst du damit ich soll die Timestamps nicht unter "Zigbee" abspeichern, sondern unter zb. "Timestamps"?

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • S Schmetterfliege

                                @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

                                @schmetterfliege Nein nicht die Objekte für die Tabelle - ich sagte doch Du sollst die Zeitstempel in einer eigenen Variable ausserhalb der Tabelle speichern.

                                Also die Objekte für die Tabelle speichere ich unter "Zigbee" ab.
                                e3112cfc-eeb9-4d58-94aa-24d0e2b2dc30-image.png
                                Meinst du damit ich soll die Timestamps nicht unter "Zigbee" abspeichern, sondern unter zb. "Timestamps"?

                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von
                                #277

                                @schmetterfliege Ja das sage ich doch die ganze Zeit. In einer eigenen Variable aber auch mit der ID - als Schlüssel. Du kannst diese an der gleichen Stelle aktualisieren bzw. initialisieren, aber werden zu diesem Zeitpunkt noch nicht in die zigbee Objekte aufgenommen.

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                S 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @schmetterfliege Ja das sage ich doch die ganze Zeit. In einer eigenen Variable aber auch mit der ID - als Schlüssel. Du kannst diese an der gleichen Stelle aktualisieren bzw. initialisieren, aber werden zu diesem Zeitpunkt noch nicht in die zigbee Objekte aufgenommen.

                                  S Offline
                                  S Offline
                                  Schmetterfliege
                                  schrieb am zuletzt editiert von
                                  #278

                                  @mickym

                                  3e52d031-5487-43d5-b2c2-852f88426a5e-image.png
                                  Erledigt.

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • S Schmetterfliege

                                    @mickym

                                    3e52d031-5487-43d5-b2c2-852f88426a5e-image.png
                                    Erledigt.

                                    mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #279

                                    @schmetterfliege Ok - dann sollten die Zigbee Objekte jetzt wieder ohne Zeitangaben sein? Und möchtest Du die ts denn in der Tabelle als UNIX ts haben oder formatiert?

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @schmetterfliege Ok - dann sollten die Zigbee Objekte jetzt wieder ohne Zeitangaben sein? Und möchtest Du die ts denn in der Tabelle als UNIX ts haben oder formatiert?

                                      S Offline
                                      S Offline
                                      Schmetterfliege
                                      schrieb am zuletzt editiert von
                                      #280

                                      @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

                                      @schmetterfliege Ok - dann sollten die Zigbee Objekte jetzt wieder ohne Zeitangaben sein?

                                      Genau, die Timestamps sind da nicht mehr drin.
                                      Nur die berechnete Zeitdifferenz.

                                      mickymM 1 Antwort Letzte Antwort
                                      0
                                      • S Schmetterfliege

                                        @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

                                        @schmetterfliege Ok - dann sollten die Zigbee Objekte jetzt wieder ohne Zeitangaben sein?

                                        Genau, die Timestamps sind da nicht mehr drin.
                                        Nur die berechnete Zeitdifferenz.

                                        mickymM Offline
                                        mickymM Offline
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #281

                                        @schmetterfliege Na die brauchst auch nicht da drin - das machen wir jetzt - Du willst die doch über alle Objekte haben - dachte ich.

                                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                        S 1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @schmetterfliege Na die brauchst auch nicht da drin - das machen wir jetzt - Du willst die doch über alle Objekte haben - dachte ich.

                                          S Offline
                                          S Offline
                                          Schmetterfliege
                                          schrieb am zuletzt editiert von
                                          #282

                                          @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

                                          @schmetterfliege Na die brauchst auch nicht da drin - das machen wir jetzt - Du willst die doch über alle Objekte haben - dachte ich.

                                          Okay, die hab ich jetzt auch rübergeschoben:
                                          d9ac3718-8d06-4a46-853c-83373c6dd7ce-image.png

                                          ich bin ehrlich: ich verstehe nicht so ganz wieso ich die in einem eigenen Objekt speichern soll.
                                          Was für einen Unterschied macht das ob die in Zigbee gespeichert sind oder unter einem eigenen Objekt?

                                          mickymM 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          778

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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