NEWS
Blockly reagiert nicht
-
@triplex sagte in Blockly reagiert nicht:
Wie muss ich den "IDs vom Selektor" befüllen?
Das löst dein Problem nur bedingt.
ein paar Fragen dazu:
- warum gehst du jedes mal wenn sich ein Objekt aus der Liste ändert immer alle Objekte durch ? Du hältst doch sowieso 2 interne Listen mit allen Elementen.
- was macht die Funktion 'multisort' (eine Beschreibung reicht, ich muss nicht den Code sehen)
- was macht die Funktion 'Name' ? (auch hier reicht eine Beschreibung, der Code muss nicht sein)
- der folgende Block funktioniert so nicht. Da die Variable
Liste Fenster/Türen geschlossen
eine Liste ist, ist die Falls abfrage immer falsch.
Statt dessen sollte diese Abfrage auf die Länge der Liste gehen.
Ich würde das ganze aber generell umstellen. Anbei 3 Screenshots für 3 Bereiche. Wichtig: die Funktionen Multisort und Name kannst / musst du an den entsprechenden Stellen einfügen.
-
Teil: Initialisierung - da werden einmal alle States eingelesen und in den beiden Listen gespeichert, sowie eine Meldung abgegeben wie der Status aktuell ist
-
Teil: Trigger - da wird nur das Element aus geöffnet in geschlossen (oder umgekehrt) umsortiert welches den Trigger auslöst, und dann wird eine Nachricht erzeugt.
-
Teil: Pushover / Text Erzeugung
In diesem 3. Teil kannst du die Sortierung der Namen vornehmen und dann die Pushover Meldung erzeugen. Ich hab nur einen Debug Baustein eingebaut, da ich kein Pushover habe. Auch wenn du verhindern willst das du zu viele Nachrichten bekommst wäre das dann in dieser Funktion.
Viel spass beim Nachbauen.
A.
-
@asgothian Danke für die Rückmeldung.
Hatte das Programm von "Machs-Smart.de" übernommen...Link siehe 1. Post.
Hab auch gerade festgestellt, dass ich bei dem "Nicht" einen Block vergessen habe.
Aber auch wenn ich das ändere, dann läuft das Programm immer noch nicht.Werde jetzt dein Variante mal nachbauen und berichten.
-
@asgothian In dem Block "in der Liste...." kann ich kein "entferne" auswählen.
Bzw. finde ich den Block so bei mir garnicht.
-
@triplex
Meinen Beitrag hast du übersehen? -
@paul53 Ist mir durchgegangen...sorry.
Hab es gerade mal nachgebaut.
Läuft bei mir auch nicht.
Es wird anscheinend nicht erkannt, dass sich der Status eines Fensters geändert hat. -
@triplex sagte: nicht erkannt, dass sich der Status eines Fensters geändert hat.
Stimmt der Selektor mit (functions=fenster)? Wie lautet die ID der Aufzählung?
-
@paul53 Ich weiß jetzt nicht genau ob ich dich richtig verstanden habe.
So sieht das unter "Objekte" aus. -
@triplex sagte: ob ich dich richtig verstanden habe.
Nein, so sieht man nur den Namen des Gewerkes. Ich meinte unter Kategorien/Gewerke die ID:
-
@paul53 Ah...da lag der 1. Fehler...bei mir heißt es "window" und nicht "Fenster"
Jetzt bekomme ich zumindest schonmal ne Nachricht.
Da steht dann aber nur ACTUAL,ACTUAL,ACTUAL,.....,ACTUAL drin und nicht die Namen der jeweiligen Fenster.
Werde mir das morgen nochmal genauer angucken...für heute reicht es.
Danke für die Hilfe. -
@triplex sagte: nicht die Namen der jeweiligen Fenster.
Dann suche im Forum nach "parentName".
Inhalt von parentName(id):
id = id.substring(0, id.lastIndexOf('.')); if(existsObject(id)) return getObject(id).common.name;
-
@paul53 said in Blockly reagiert nicht:
id = id.substring(0, id.lastIndexOf('.'));
if(existsObject(id)) return getObject(id).common.name;Da bekomme ich jetzt Erros im Log.
-
@triplex sagte: Da bekomme ich jetzt Erros im Log.
Ach ja,id
wird später nochmal verwendet. Dann ändere den FunktionsinhaltEDIT: Eigentlich sollten lokale Variablen mit dem gleichen Bezeichner nicht auf globale Variablen rückwirken.
Wenn ich es unter Javascript teste, passiert es auch nicht. Der Fehler muss wohl woanders liegen? -
@triplex sagte in Blockly reagiert nicht:
@asgothian In dem Block "in der Liste...." kann ich kein "entferne" auswählen.
Bzw. finde ich den Block so bei mir garnicht.
Du musst diesen nehmen, und dann das "nimm" in "entferne" ändern!
Sorry für die späte Antwort - war nicht am Rechner.
A.