NEWS
OK Frage: for ( x in y) -> nur zwei von drei items
-
Ich zweifele langsam an meinem Verstand…
sorry, wenn ich noch einmal eine Javascript Frage stellen muss.
function dpAnlegen() { for (var lampenGruppe in lampen) { createState(hueSzenenApapterPfad + lampenGruppe,"aus"); log(hueSzenenApapterPfad + lampenGruppe); } }Log (alle drei items sind vorhanden):
javascript-1 2015-08-17 18:10:19 info script.js.test_hue_szene_wz(1): hue.szene.arbeitszimmer javascript-1 2015-08-17 18:10:19 info script.js.test_hue_szene_wz(1): hue.szene.schlafzimmer javascript-1 2015-08-17 18:10:19 info script.js.test_hue_szene_wz(1): hue.szene.wohnzimmer javascript-1 2015-08-17 18:10:19 info Start javascript script.js.test_hue_szene_wz(1)Der Vollständigkeit halber das Objekt:
!
var lampen ={ "wohnzimmer": // Lampengruppe [ "hue.0.Philips_hue.wohnzimmer.kugel", "hue.0.Philips_hue.wohnzimmer.stehlampe.oben", "hue.0.Philips_hue.wohnzimmer.stehlampe.mitte", "hue.0.Philips_hue.wohnzimmer.stehlampe.unten", "hue.0.Philips_hue.küche.kühlschrank.lc" ], "schlafzimmer": // Lampengruppe [ "hue.0.Philips_hue.schlafzimmer.decke.hinten.links", "hue.0.Philips_hue.schlafzimmer.decke.hinten.mitte", "hue.0.Philips_hue.schlafzimmer.decke.hinten.rechts", "hue.0.Philips_hue.schlafzimmer.decke.vorne.links", "hue.0.Philips_hue.schlafzimmer.decke.vorne.mitte", "hue.0.Philips_hue.schlafzimmer.decke.vorne.rechts" ], "arbeitszimmer": // Lampengruppe [ "hue.0.Philips_hue.arbeitszimmer.schreibtisch.ls", "hue.0.Philips_hue.arbeitszimmer.regal.li.re" ] }; !Die Schleife oben soll für alle items im Objekt lampen einen Datenpunkt mit createState() anlegen.
Im Log werden alle drei enthaltenen items (wohnzimmer, schlafzimmer, arbeitszimmer) ausgegeben, wenn die Schleife durchlaufen wird. Der createState() in der selben Schleife legt aber nur die ersten beiden items (wohnzimmer und schlafzimmer an).
Ich verstehe es nicht. Warum gibt es drei Log-Einträge, aber mit createStates() werden nur zwei von drei Objekten angelegt?
-
mmhh…
bin mir nicht ganz sicher, was die Ursache war...
Jetzt sind jedenfalls alle drei items als Datenpunkt angelegt worden.
An der Funktion habe ich nichts geändert.
Was eine Ursache sein könnte ??:
Im Scriptstart ist nun eine Verzögerung von 500ms eingebaut.
D.h. die States werden angelegt. Dann geht es nach 500 ms weiter.
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