NEWS
[Gelöst] variablen Datenpunkt mit Blockly ansteuern
-
Vielleicht kann mir jemand helfen.
Ich möchte mit Blockly einen variablen Datenpunkt ansteuern um es in einer wiederverwendbaren Funktion zu packen.
Mit „steuere“ kann ich den Datenpunkt steuern. Bei Klick auf Objekt ID kann ich den Datenpunkt auswählen. Aber dafür würde ich gerne eine Variable benutzen wo ich mir den Pfad zusammen setzen kann.
Hat da jemand eine Idee?
-
Vielleicht kann mir jemand helfen.
Ich möchte mit Blockly einen variablen Datenpunkt ansteuern um es in einer wiederverwendbaren Funktion zu packen.
Mit „steuere“ kann ich den Datenpunkt steuern. Bei Klick auf Objekt ID kann ich den Datenpunkt auswählen. Aber dafür würde ich gerne eine Variable benutzen wo ich mir den Pfad zusammen setzen kann.
Hat da jemand eine Idee? `
Hallo BongoWas hast Du denn vor?
Mir fällt da keine Anwendung ein.
Normalerweise regelt man die über den Baustein falls sonst sonst falls.
Du kannst es mal so versuchen.
Nicht ausprobiert, könnte aber klappen.
Grüße
-
Wen du den datenpunkt in einer function benutzen moechtest kans du die variable auch da erstellen, hier mal ein beispiel von meiner heizungssteuerung:
Die hier benutzen variabelen findest du dan auch in de variabelen bloecken.
-
Hallo Bongo
Was hast Du denn vor?
Mir fällt da keine Anwendung ein.
Normalerweise regelt man die über den Baustein falls sonst sonst falls.
Du kannst es mal so versuchen.
Nicht ausprobiert, könnte aber klappen. `
Das klappt. "Schreibe Objekt ID" hatte ich bis jetzt noch nicht benutzt. Man muss nur in der Variable den kompletten Pfad angeben.Wen du den datenpunkt in einer function benutzen moechtest kans du die variable auch da erstellen, hier mal ein beispiel von meiner heizungssteuerung:
Die hier benutzen variabelen findest du dan auch in de variabelen bloecken. `
Genau so brauche ich das auch.Mein Test sieht jetzt so aus:
Hm, jetzt bäuchte ich noch so was wie "Lese Objekt ID". Da finde ich aber nichts.
-
Hallo Bongo
Was hast Du denn vor?
Mir fällt da keine Anwendung ein.
Normalerweise regelt man die über den Baustein falls sonst sonst falls.
Du kannst es mal so versuchen.
Nicht ausprobiert, könnte aber klappen. `
Das klappt. "Schreibe Objekt ID" hatte ich bis jetzt noch nicht benutzt. Man muss nur in der Variable den kompletten Pfad angeben.Wen du den datenpunkt in einer function benutzen moechtest kans du die variable auch da erstellen, hier mal ein beispiel von meiner heizungssteuerung:
Die hier benutzen variabelen findest du dan auch in de variabelen bloecken. `
Genau so brauche ich das auch.Mein Test sieht jetzt so aus:
filename="schreibe.png" index="0">~~Hm, jetzt bäuchte ich noch so was wie "Lese Objekt ID". Da finde ich aber nichts. `
Was meinst du mit lese Objekt ID?
Den Wert eines object von ioBroker, die Variable selber oder?
-
Hm, jetzt bäuchte ich noch so was wie "Lese Objekt ID". Da finde ich aber nichts. `
Versuch doch mal zu beschreiben was Du machen möchtest.Ich glaube Dein Ansatz ist falsch.
Grüße
-
Ich möchte meine Beleuchtung steuern. Eigentlich habe ich es (auf die Schnelle und rudimentären Kenntnissen) schon mit Blockly programmiert. Aber ich möchte es „eleganter“ machen. Im Moment habe ich zu viele „falls mache“ im Programm.
Letztendlich soll die Ansteuerung über Vis vereinfacht werden.
Einen Teil könnte man auch mit dem Szenen-Adapter machen. Aber das ist mir nicht flexibel genug.
Zum Einen habe ich Einstellungen für zum Beispiel Szenen:
Zum Anderen Datenpunkte für die Lampen oder Lampengruppen:
Hier werden auch Einstellungen wie die Helligkeit die von einem Homematic Wandtaster kommen gespeichert.Soviel zu dem was ich vor habe.
Eigentlich brauche ich noch so was:
Nur mit variablen Datenpunkt. Also Datenpunkt-Pfad in einer Variable. Aber ich sehe so etwas nicht. -
Nur mit variablen Datenpunkt. Also Datenpunkt-Pfad in einer Variable. Aber ich sehe so etwas nicht. `
So etwas gibt es Blockly nicht.Stell doch mal Dein Blockly hier als Export rein.
Grüße
-
Nur mit variablen Datenpunkt. Also Datenpunkt-Pfad in einer Variable. Aber ich sehe so etwas nicht.
So etwas gibt es Blockly nicht.
Deshalb habe ich einen Abstecher in JavaScript gemacht.
So sieht meine Lösung aus:
Die Funktion get_dp ist dann in JavaScript:
-
Ich verstehe das immer noch nicht so ganz.
Wie sieht denn jetzt eine vereinfachte Lösung aus?
Grüße
-
Ich verstehe das immer noch nicht so ganz.
Wie sieht denn jetzt eine vereinfachte Lösung aus?
Grüße `
Die ganze Lösung zu erklären ist schwierig.Das ist jedenfalls mein universelle Funktion für alle Lampen. Vorausgesetzt es sind die Datenpunkte wie oben beschrieben vorhanden:
Für jede Lampe brauche ich nur noch je diesen Code:
In Vis benutze ich die Datenpunkte und so sieht dann die card von jeder Lampe so aus:
Der Begriff "vereinfachte Lösung" gilt jetzt nur für mich. Jetzt sieht die Programmierung für jede Lampe gleich aus. Im Gegensatz zu vorher ist es jetzt einheitlich und übersichtlich. -
Eigentlich brauche ich noch so was:
wert.png
Nur mit variablen Datenpunkt. Also Datenpunkt-Pfad in einer Variable. Aber ich sehe so etwas nicht. `
Genau das suche ich auch.
Schade, dann werde ich das in Java Script schreiben müssen.
Cosmo