NEWS
PAJ GPS mit Node-Red abfragen
-
Du siehst wie einfach NodeRed es einem manchmal macht.
-
@mickym sagte in PAJ GPS mit Node-Red abfragen:
Dann musst Du halt mit einer Change Node Deine E-Mail und Passwort festlegen und zusätzlich in die http-Request Node speisen.
da steh ich gerade an.
Hatten wir das schon mit einer Change Node? -
@negalein Na nicht msg sondern Du setzt Deine Logindaten genauso, wie Du sie in der Inject Node gesetzt hast, damit das auch in die URL gesetzt wird.
Also mit Deinen Eigenschaftsnamen halt. (mail und PWD)
-
@mickym sagte in PAJ GPS mit Node-Red abfragen:
Also mit Deinen Eigenschaftsnamen halt. (mail und PWD)
habs zeitgleich gefunden
Den DP von
aktuell
muss ich aber selbst anlegen? -
@negalein sagte in PAJ GPS mit Node-Red abfragen:
Den DP von aktuell muss ich aber selbst anlegen?
Ja Du kannst einen x-beliebigen nehmen, den DU dann mit der VIS halt beschreibst und der triggert dann den Flow parallel zur Inject node über die iobroker-IN Node.
-
@mickym sagte in PAJ GPS mit Node-Red abfragen:
Ja Du kannst einen x-beliebigen nehmen, den DU dann mit der VIS halt beschreibst und der triggert dann den Flow parallel zur Inject node über die iobroker-IN Node.
hab ich schon
Danke dir recht herzlich!!!
War echt informativ.So, werde mich jetzt in die Federn schmeissen.
Gn8
-
@negalein Gut. Ja dann denke ich, wir haben diese Projekt erst mal abgeschlossen. Schlaf gut!
-
Gutn Morgn
Ich hab gerade diesen Error im Log entdeckt.
Node-RED: 29 Jul 09:00:27 - [error] [change:dateunix] Invalid JSONata expression: The left side of the "*" operator must evaluate to a number
So schaut die Change-Node aus
-
@negalein nun dann hat die Schnittstelle kein Datum bzw. nicht das erwartete Objekt zurückgegeben. insofern finde ich den Fehler wichtig, da er Dir zeigt, dass aktuell was anderes zurückgegeben wurde. Du könntest das höchstens abfangen und eine eigene Fehlermeldung ins Log schreiben, aber wenn das nur sporadisch passiert, dann ist das doch gut, dass du durch den Fehler aufmerksam wirst, dass ein Abruf nicht funktioniert hat. warum kann ich nicht sagen, vielleicht war auch einfach keine Verbindung zu der API möglich, wegen eines Netzwerkfehlers.
Wie gesagt, kannst du auch verhindern, indem du so einen fehlerhaften Abruf abfängst (kannst einfach mit einer switch node filtern, dass nur Nachrichten durchkommen, wenn payload.sucess.0.dateunix eine Zahl ist) und selbst eine Fehlermeldung ausgibst oder du den Fehler einfach abfängst und gar nichts ausgibst. Dann bekommst unter Umständen aber nicht mit, wenn der Abruf dauerhaft fehlschlägt.
Wenn du deine internetverbindung kappst, wirst du den Fehler im Log auch reproduzieren können.
Was willst du also tun?
-
@mickym sagte in PAJ GPS mit Node-Red abfragen:
(kannst einfach mit einer switch node filtern, dass nur Nachrichten durchkommen, wenn payload.sucess.0.dateunix eine Zahl ist)
Ich weiß jetzt woher der Error kommt.
Habe noch einen zusätzlichen httpRequest eingebaut (Speed Warning).
Da gibt es 0 (ungelesen) und 1 (gelesen).
Habe 0 verwendet, da mich nur aktuelle intressieren.Der NR frägt alle 10 Minuten ab. Und wenn da kein Speed Alert ist, kommt die Meldung.
Wie mach ich das mit dem Switch-Node?
-
@negalein Na Du lässt halt nur Nachrichten durch, bei der die gewünschte Eigenschaft den Datentyp number also Zahl hat.
-
mach ich das hier?
-
@negalein Nein ein switch Node, die die Nachrichten ausfiltert - also nur Nachrichten durchlässt, die das Kriterium durchlässt. Damit bekommst den Fehler weg. Im Prinzip baust Du den Filter direkt hinter den HTTP Request
-
-
@negalein Na ich denke die Nachrichteneigenschaft die geprüft werden soll ist doch
payload.success.0.dateunix
und das prüfst Du nun, ob dieses Eigenschaft einen Wert vom Typ Zahl bzw. Number hat.
Also gib
- oben in dem Switch ein, welche Nachrichteneigenschaft geprüft werden soll
- Mach eine Typ Prüfung
- auf Zahl, also Number
-
@mickym sagte in PAJ GPS mit Node-Red abfragen:
und das prüfst Du nun, ob dieses Eigenschaft einen Wert vom Typ Zahl bzw. Number hat.
so dann richtig?
-
Ok, da kommt noch immer
"Invalid JSONata expression: The left side of the "*" operator must evaluate to a number"
-
@negalein Na ist dass denn plötzlich success[5] und nicht mehr 0 - wie seht denn das Objekt aus.
Und Du willst doch prüfen, ob der Datentyp eine Zahl ist - also nicht ==, sondern "ist vom Typ " und dann vom Typ "number"
-
@mickym Also wenn Du das hast - am Besten kannst Du natürlich einmal das Objekt posten (in CodeTags), wenn ein Objekt da ist oder wenn nicht. Aber wie gesagt, Du musst ein Typprüfung auf number machen.
-
@mickym sagte in PAJ GPS mit Node-Red abfragen:
Na ist dass denn plötzlich success[5] und nicht mehr 0 - wie seht denn das Objekt aus.
Ja, beim 2. httpRequest ist es
payload.success[5].dateunix
.
Ah, hab ich übersehn, dass da mehr steht.
so schauts aus, wenn ich zB alle Speed Alerts nehme.
{"success":[{"id":180803681,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1722186881,"lat":48.4801559,"lng":13.4893332,"isread":1,"imei":null,"speed":56,"speederlaubt":50,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":180794125,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1722184536,"lat":48.4709358,"lng":13.532383,"isread":1,"imei":null,"speed":52,"speederlaubt":50,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":180269448,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1722017700,"lat":48.4809265,"lng":13.4890671,"isread":1,"imei":null,"speed":59,"speederlaubt":50,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":180125881,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1721993656,"lat":48.4613876,"lng":13.5360165,"isread":1,"imei":null,"speed":57,"speederlaubt":50,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":179922086,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1721931765,"lat":48.4804878,"lng":13.4893332,"isread":1,"imei":null,"speed":50,"speederlaubt":50,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":179802432,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1721911520,"lat":48.4616165,"lng":13.5359335,"isread":1,"imei":null,"speed":57,"speederlaubt":50,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":178551595,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1721572992,"lat":48.4611015,"lng":13.5360832,"isread":1,"imei":null,"speed":54,"speederlaubt":50,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":178351078,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1721496826,"lat":48.5024605,"lng":13.4803667,"isread":1,"imei":null,"speed":50,"speederlaubt":50,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":176065086,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1720886205,"lat":48.4818077,"lng":13.4579163,"isread":1,"imei":null,"speed":94,"speederlaubt":80,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":176048342,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1720882922,"lat":48.5098839,"lng":13.4779167,"isread":1,"imei":null,"speed":96,"speederlaubt":80,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":171856575,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1719768062,"lat":48.5028152,"lng":13.4802332,"isread":1,"imei":null,"speed":87,"speederlaubt":80,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null},{"id":171853651,"iddevice":1334450,"name":null,"icon":"icon-info","bezeichnung":"Geschwindigkeitsalarm","meldung":null,"meldungtyp":5,"dateunix":1719767310,"lat":48.5003777,"lng":13.5935497,"isread":1,"imei":null,"speed":87,"speederlaubt":80,"radiusin":0,"radiusout":0,"zuendon":0,"zuendoff":0,"email":null,"push":0,"suppressed":0,"deleted_at":null}],"number_of_records":12}