NEWS
[Erledigt] Hilfe IF zum Zahlen Vergleich
-
Hallo,
finde in meinem Script den Fehler nicht, hoffe Ihr könnt mir helfen.
Das Script soll den billigsten Dieselpreis mit einem von mir definierten Schwellwert vergleichen.
Wenn der Dieselpreis kleiner gleich dem Schwellwert ist, soll eine Pushbenachrichtigung versendet werden.
Das Versenden der Pushnachricht klappt. Allerdings bei jeder Aktualisierung wird if und else if aktiv.
/* Tanken Schwellwert Pushmitteilung */ var idTankenBillig = "tankerkoenig.0.stations.cheapest.diesel.feed"; //Günstigste Diesel Tankstelle feed var gidTankenBillig = getState("tankerkoenig.0.stations.cheapest.diesel.feed").val; var idSchwellwert = 1.219; function meldung_push (text, titel, prio) { sendTo("pushover", { message: text, title: titel, priority: prio }); } on({ id: idTankenBillig, change: "any" }, function (obj) { if (obj.state.val <= idSchwellwert){ log('Tanken billig'); log('Schwellwert ' + idSchwellwert); log('Dieselpreis ' + idTankenBillig); var status = 'Tanken billig. ', betreff = 'ioBroker Meldung'; status = status; meldung_push(status, betreff, 1); log('Push Meldung gesendet'); } else{ log('Tanken teuer'); log('Schwellwert ' + idSchwellwert); log('Dieselpreis ' + getState(idTankenBillig).val); } });Hier die Log-Ausgabe
` > 20:28:03.397 [info] javascript.0 script.js.Allgemein.Tanken_Schwellwert: Tanken billig20:28:03.397 [info] javascript.0 script.js.Allgemein.Tanken_Schwellwert: Schwellwert 1.239
20:28:03.399 [info] javascript.0 script.js.Allgemein.Tanken_Schwellwert: Dieselpreis tankerkoenig.0.stations.cheapest.diesel.feed
20:28:03.399 [info] javascript.0 script.js.Allgemein.Tanken_Schwellwert: Push Meldung gesendet
20:28:03.846 [info] javascript.0 script.js.Allgemein.Tanken_Schwellwert: Tanken teuer
20:28:03.846 [info] javascript.0 script.js.Allgemein.Tanken_Schwellwert: Schwellwert 1.239
20:28:03.846 [info] javascript.0 script.js.Allgemein.Tanken_Schwellwert: Dieselpreis 1.249 `
Danke für Eure HilfeZippolighter
-
Danke für die Info, aber das war es nicht.
Haken war gesetzt.
Die Log Ausgabe zeigt ja auch das die Werte unterschiedlich sind, trotzdem if und else beide abgearbeitet werden
-
log('Dieselpreis ' + idTankenBillig); ```` `Was soll dieser Log aussagen ? Um zu sehen, woran es liegt, ändere die Logreihenfolge
on(idTankenBillig, function (obj) { log('Schwellwert ' + idSchwellwert); log('Dieselpreis ' + obj.state.val); if (obj.state.val <= idSchwellwert) { log('Tanken billig'); var status = 'Tanken billig', var betreff = 'ioBroker Meldung'; meldung_push(status, betreff, 1); log('Push Meldung gesendet'); } else log('Tanken teuer'); }); -
Danke für die Info, aber das war es nicht.
Haken war gesetzt. `
Du sollst den Haken ja auch bei dir raus nehmen (deswegen sagte ich deaktivieren)!
:D
Gruß
-
Nachdem ich dann endlich auf Euch gehört habe, funktioniert es natürlich auch.
Danke für die Hilfe
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
