NEWS
Wert wird nicht gelesen
-
Bei meinem ersten Skript habe ich das Problem, dass ich statt des Werts nur den Namen erhalten.
Mein kleines Hello-World-Programm schaut so aus
schedule("*/10 * * * * *", function () { var Luftdruck = "hm-rega.0.2464"/*Luftdruck*/ var Luftdruck1 = "hm-rega.0.2464.state"/*Luftdruck*/ log(Luftdruck, "info"); log(Luftdruck1, "info"); if (Luftdruck > 1010) { log("Luftdruck > 1010 hPa", "info"); } });Aber statt des erwarteten Werts erhalte ich die Objekt-Daten
14:17:09.923 [info] javascript.0 script.js.Test_Abfrage_Luftdruck: schedule(cron=*/10 * * * * *) [info] javascript.0 script.js.Test_Abfrage_Luftdruck: registered 0 subscriptions and 1 schedule [info] javascript.0 script.js.Test_Abfrage_Luftdruck: hm-rega.0.2464 [info] javascript.0 script.js.Test_Abfrage_Luftdruck: hm-rega.0.2464.state [info] javascript.0 Stop script script.js.Test_Abfrage_LuftdruckWas mache ich falsch?
Wie komme ich an Wert selbst?
-
const idLuftdruck = getIdByName('Luftdruck'); on(idLuftdruck, function(dp) { var Luftdruck = dp.state.val; log('Luftdruck: ' + Luftdruck + ' hPa'); });getIdByName(name) funktioniert nur, wenn der Name "Luftdruck" nur einmal (an die SV) vergeben wurde.
-
getState(Luftdruck).val ```` `Danke, das funktioniert.
const idLuftdruck = getIdByName('Luftdruck'); on(idLuftdruck, function(dp) { var Luftdruck = dp.state.val; log('Luftdruck: ' + Luftdruck + ' hPa'); });getIdByName(name) funktioniert nur, wenn der Name "Luftdruck" nur einmal (an die SV) vergeben wurde. `
Das verstehe ich nicht.Was meinst Du damit?
-
Was meinst Du damit? `
Objekt-Namen sind in ioBroker nicht zwingend eindeutig, d.h. der gleiche Name (im Beispiel "Luftdruck") kann mehrfach vergeben sein. Ist der Name mehrfach vergeben, liefert die Funktion getIdByName(name) ein Array mit mehreren IDs, denn IDs sind immer eindeutig.const idLuftdruck = getIdByName('Luftdruck');kann ersetzt werden durch
const idLuftdruck = "hm-rega.0.2464"/*Luftdruck*/;Die Verwendung der Funktion getIdByName(name) ist gerade bei Systemvariablen sinnvoll, da die ID keine Aussagekraft hat.
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