NEWS
Gerätekanal Wert per Funktion setzen
-
@zahnheinrich
Du möchtest die Kanal-ID verwenden, um daraus die Datenpunkt-ID zusammen zu setzen? Das geht mit den Block "schreibe" und "erstelle Text aus".@paul53
Ich möchte nach Übergabe der Geräte ID alle genannten zugehöricgen Kanäle mit den Werten setzen -
@paul53
Ich möchte nach Übergabe der Geräte ID alle genannten zugehöricgen Kanäle mit den Werten setzen@zahnheinrich sagte: alle genannten zugehöricgen Kanäle mit den Werten setzen
Kanäle erhalten keine Werte, sondern nur Datenpunkte. Die Kanäle haben unterschiedliche Datenpunkte (mind. Kanal 0).
-
@zahnheinrich
Du möchtest die Kanal-ID verwenden, um daraus die Datenpunkt-ID zusammen zu setzen? Das geht mit den Block "schreibe" und "erstelle Text aus".@paul53
Ich übergebe also die ID "hm-rpc.2.0021DD89BBE7F2.7" und möchte für diese ID z.B. die Werte "hm-rpc.2.0021DD89BBE7F2.7.COLOR_BEHAVIOUR", "hm-rpc.2.0021DD89BBE7F2.7.LEVEL" usw ändern -
@zahnheinrich sagte: alle genannten zugehöricgen Kanäle mit den Werten setzen
Kanäle erhalten keine Werte, sondern nur Datenpunkte. Die Kanäle haben unterschiedliche Datenpunkte (mind. Kanal 0).
@paul53
Das gleiche dann für "hm-rpc.2.0021DD89BBE7F2.9" , "hm-rpc.2.0021DD89BBE7F2.10" usw -
@paul53
Ich übergebe also die ID "hm-rpc.2.0021DD89BBE7F2.7" und möchte für diese ID z.B. die Werte "hm-rpc.2.0021DD89BBE7F2.7.COLOR_BEHAVIOUR", "hm-rpc.2.0021DD89BBE7F2.7.LEVEL" usw ändern@zahnheinrich sagte: Werte "hm-rpc.2.0021DD89BBE7F2.7.COLOR_BEHAVIOUR", "hm-rpc.2.0021DD89BBE7F2.7.LEVEL" usw ändern
Etwa so?

-
@zahnheinrich sagte: alle genannten zugehöricgen Kanäle mit den Werten setzen
Kanäle erhalten keine Werte, sondern nur Datenpunkte. Die Kanäle haben unterschiedliche Datenpunkte (mind. Kanal 0).
@paul53
Augenblicklich habe ich den gesamten obigen Programmblock für jedes Gerät ("hm-rpc.2.0021DD89BBE7F2.9" , "hm-rpc.2.0021DD89BBE7F2.10") immer wieder jeweils neu -
@zahnheinrich sagte: Werte "hm-rpc.2.0021DD89BBE7F2.7.COLOR_BEHAVIOUR", "hm-rpc.2.0021DD89BBE7F2.7.LEVEL" usw ändern
Etwa so?

@paul53
Das passt wenn ich den Block für unterschiedliche ObjektID´s nutzen kann -
@paul53
Das passt wenn ich den Block für unterschiedliche ObjektID´s nutzen kann -
@paul53
Das hilft weiter, probiere ich.
Vielen Dank! -
@paul53
Das hilft weiter, probiere ich.
Vielen Dank!@zahnheinrich
Was ist "COMBINED_PARAMETER" und welche Werte kann er enthalten? -
@zahnheinrich
Was ist "COMBINED_PARAMETER" und welche Werte kann er enthalten?@paul53
"COMBINED_PARAMETER" ist ein string, enthält z.B. "L=40,DV=31,DU=2,RTV=20,RTU=3,C=3"
-
@zahnheinrich
Was ist "COMBINED_PARAMETER" und welche Werte kann er enthalten?@paul53
Ich habe dein Beispiel jetzt soweit angepasst, noch nicht getestet.
"COMBINED_PARAMETER" ist als Variable gespeichert.
-
@zahnheinrich
Was ist "COMBINED_PARAMETER" und welche Werte kann er enthalten?@paul53
Das funktioniert augenscheinlich perfekt, ich beobachte weiter!Edit: Interessanterweise bekomme ich NUR bei diesem script keinerlei debug-Ausgaben im script-Editor unterhalb des Programmcodes, auch nicht beim Neustart des Programms.
Im Log-Tab kommen die Ausgaben normal.
Forcierter Browserrefresh / Adapterneustart bringen keinen Unterschied.Hat für die Funktion keinerlei Auswirkung, lediglich ungewöhnlich.
Mein System: Alle Adapter aktuell stable mit javascript 6.0.3
-
@paul53
Ich habe dein Beispiel jetzt soweit angepasst, noch nicht getestet.
"COMBINED_PARAMETER" ist als Variable gespeichert.
@zahnheinrich sagte: Ich habe dein Beispiel jetzt soweit angepasst
Weshalb rufts Du die Funktionen zweimal auf und nicht nur einmal, nachdem die Variablen gesetzt sind. Soll beim Ausschalten der gleiche COMBINED_PARAMETER gesendet werden wie beim Einschalten?
Falls nicht, setze einen Leerstring in die Variable und prüfe die Variable in der Funktion:
-
@zahnheinrich sagte: Ich habe dein Beispiel jetzt soweit angepasst
Weshalb rufts Du die Funktionen zweimal auf und nicht nur einmal, nachdem die Variablen gesetzt sind. Soll beim Ausschalten der gleiche COMBINED_PARAMETER gesendet werden wie beim Einschalten?
Falls nicht, setze einen Leerstring in die Variable und prüfe die Variable in der Funktion:
@paul53
Ich benötige ihn zwar nur beim Einschalten, er stört aber nicht beim Ausschalten.
Ihn zu leeren ginge zwar, vergrössert aber doch nur den Code oder überseh ich was?Edit: Du hast wie immer recht, kürze den Code entsprechend!
Vielen Dank für dein Interesse! -
@paul53
Ich benötige ihn zwar nur beim Einschalten, er stört aber nicht beim Ausschalten.
Ihn zu leeren ginge zwar, vergrössert aber doch nur den Code oder überseh ich was?Edit: Du hast wie immer recht, kürze den Code entsprechend!
Vielen Dank für dein Interesse!@zahnheinrich sagte: er stört aber nicht beim Ausschalten.
Zumindest wird sinnlos gesendet (Duty cycle!).
Ich habe noch um die lokale Variabledelayergänzt, damit nicht an alle Kanäle gleichzeitig gesendet wird, so wie Du es ursprünglich hattest.
-
@zahnheinrich sagte: er stört aber nicht beim Ausschalten.
Zumindest wird sinnlos gesendet (Duty cycle!).
Ich habe noch um die lokale Variabledelayergänzt, damit nicht an alle Kanäle gleichzeitig gesendet wird, so wie Du es ursprünglich hattest.
@paul53
Ich möchte die (bis hierher gelöste) Aufgabenstellung eskalieren:Zur Erklärung, wozu das Programm benötigt wird:
Zur Abendzeit schaltet ein Blockly diverse Lampen ein, welche in einer Liste gespeichert sind.
Die geplante Eskalation: Ich möchte innerhalb der Listenbearbeitung die (evtl. mehreren) LED mit schalten, sofern die Lampe mit einem HM-Aktor geschaltet wird. (Es gibt auch Lampen, die über shelly geschaltet werden)Meine Idee: Die States aller Lampen sind als alias vorhanden, einfach wäre es doch eigentlich, jeder mit HM geschalteten Lampe die ID´s der Tasten-LED´s mitzugeben und diese ID´s dann im Listendurchlauf zu verwenden:
Mein Blockly (nur als Idee zur Verdeutlichung):

Eingerahmt der vorher erarbeitete Programmblock zur Steuerung der Tasten-LED
Dieses Listenprogramm schaltet nur Lampen EIN.
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
