NEWS
Node Red und Blockly Scripte
-
Hallo,
ich experimentiere gerade etwas mit Node Red und Blockly Scripten herum.
Dabei w
ü
rde ich gerne
ü
ber einen Sprachbefehl (alexa) in Node Red ein Blockly Script ausl
ö
sen.
Vielleicht kann mir jemand weiterhelfen wie dies M
ö
glich ist.
Der Sprachbefehl funktioniert ohne Probleme. Jedoch ist es mir nicht bekannt wie ich mit Node Red ein Blockly Skript ausl
ö
sen kann. -
Hallo,
ich experimentiere gerade etwas mit Node Red und Blockly Scripten herum.
Dabei w
ü
rde ich gerne
ü
ber einen Sprachbefehl (alexa) in Node Red ein Blockly Script ausl
ö
sen.
Vielleicht kann mir jemand weiterhelfen wie dies M
ö
glich ist.
Der Sprachbefehl funktioniert ohne Probleme. Jedoch ist es mir nicht bekannt wie ich mit Node Red ein Blockly Skript ausl
ö
sen kann. -
@labamba Du schreibst einfach mit NodeRed in einen von Dir erstellten Datenpunkt, der wiederum ein Blockly triggert.
@mickym
Mit Node Red kenne ich mich leider noch
ü
berhaupt nicht aus. Wie schaut sowas aus?
Konkret will ich
ü
ber einen Sprachbefehl, einen Raffstore auf eine Position und einen
Ö
ffnungswinkel fahren lassen. Das Skript dazu habe ich schon geschrieben.
Wie ich einen Sprachbefehl (alexa) in Node Red einf
ü
ge habe ich auch hinbekommen. -
@mickym
Mit Node Red kenne ich mich leider noch
ü
berhaupt nicht aus. Wie schaut sowas aus?
Konkret will ich
ü
ber einen Sprachbefehl, einen Raffstore auf eine Position und einen
Ö
ffnungswinkel fahren lassen. Das Skript dazu habe ich schon geschrieben.
Wie ich einen Sprachbefehl (alexa) in Node Red einf
ü
ge habe ich auch hinbekommen.@labamba Das heisst Du willst diese Information Position und
Ö
ffnungswinkel dem Blockly-Skript
ü
bergeben? Hast Du die beiden Informationen im NodeRed verf
ü
gbar? Oder geht es nur darum das Blockly zu triggern und das Blockly holt sich die Informationen Position und
Ö
ffnungswinkel selbst und verarbeitet es? -
@labamba Das heisst Du willst diese Information Position und
Ö
ffnungswinkel dem Blockly-Skript
ü
bergeben? Hast Du die beiden Informationen im NodeRed verf
ü
gbar? Oder geht es nur darum das Blockly zu triggern und das Blockly holt sich die Informationen Position und
Ö
ffnungswinkel selbst und verarbeitet es?@mickym
Ich habe mir verschiedene Skripte f
ü
r die Raffstoreh
ö
he und den
Ö
ffnungswinkel geschrieben. Momentan sind diese
ü
ber einen Button in Iobroker VIS ansteuerbar.
z.B. 20% ge
ö
ffnet und 45
°
im Winkel.
Jetzt m
ö
chte ich dies
ü
ber Node Red als Alexa Sprachbefehl integrieren. -
@mickym
Ich habe mir verschiedene Skripte f
ü
r die Raffstoreh
ö
he und den
Ö
ffnungswinkel geschrieben. Momentan sind diese
ü
ber einen Button in Iobroker VIS ansteuerbar.
z.B. 20% ge
ö
ffnet und 45
°
im Winkel.
Jetzt m
ö
chte ich dies
ü
ber Node Red als Alexa Sprachbefehl integrieren.@labamba Ok - ich verstehe zwar immer noch nicht wie und was Du im NodeRed f
ü
r Informationen hast und wie der Flow ausschaut. Aber erstelle einfach einen Datenpunkt unter 0_userdata.0 in den Du via iobroker-Out Node rein schreibst.Sobald Du diese tust, triggerst Du Dein Blockly in dem Du Aktualisierungen in diesem Datenpunkt
ü
berwachst (triggerst). -
@labamba Das heisst Du willst diese Information Position und
Ö
ffnungswinkel dem Blockly-Skript
ü
bergeben? Hast Du die beiden Informationen im NodeRed verf
ü
gbar? Oder geht es nur darum das Blockly zu triggern und das Blockly holt sich die Informationen Position und
Ö
ffnungswinkel selbst und verarbeitet es?@mickym
Ich verwende eine Shelly 2.5 dazu. Die Position (H
ö
he) steuer ich
ü
ber einen http befehl an. Der Winkel wird
ü
ber die Fahrzeit eingestellt. Das funktioniert im Moment nur
ü
ber ein Blockly Skript.
Folglich wollte ich jetzt die verschiedenen Skripte mit unterschiedlichen Sprachbefehlen in Node-Red verbinden.
Komplett ge
ö
ffnet oder geschlossen k
ö
nnte ich auch direkt mit einem hhtp Befehl ausl
ö
sen. Jedoch habe ich leider keine Ahnung wie dies in Node-Red funktioniert. -
@mickym
Ich verwende eine Shelly 2.5 dazu. Die Position (H
ö
he) steuer ich
ü
ber einen http befehl an. Der Winkel wird
ü
ber die Fahrzeit eingestellt. Das funktioniert im Moment nur
ü
ber ein Blockly Skript.
Folglich wollte ich jetzt die verschiedenen Skripte mit unterschiedlichen Sprachbefehlen in Node-Red verbinden.
Komplett ge
ö
ffnet oder geschlossen k
ö
nnte ich auch direkt mit einem hhtp Befehl ausl
ö
sen. Jedoch habe ich leider keine Ahnung wie dies in Node-Red funktioniert.@labamba sagte in Node Red und Blockly Scripte:
@mickym
Ich verwende eine Shelly 2.5 dazu. Die Position (H
ö
he) steuer ich
ü
ber einen http befehl an. Der Winkel wird
ü
ber die Fahrzeit eingestellt. Das funktioniert im Moment nur
ü
ber ein Blockly Skript.
Folglich wollte ich jetzt die verschiedenen Skripte mit unterschiedlichen Sprachbefehlen in Node-Red verbinden.
Komplett ge
ö
ffnet oder geschlossen k
ö
nnte ich auch direkt mit einem hhtp Befehl ausl
ö
sen. Jedoch habe ich leider keine Ahnung wie dies in Node-Red funktioniert.Ich hab das alles verstanden und hab Dir ja geschrieben wie es grunds
ä
tzlich funktioniert. Man k
ö
nnte das auch alles direkt in NodeRed abbilden, aber das wollen wir ja nicht.
Wenn Dir meine Hilfestellung zu ungenau ist, dann musst Du mir halt genau Deinen Flow hier zeigen bzw. mir genau sagen, was aus den Alexa Nodes f
ü
r Informationen herauskommen.Wie gesagt ist auch kein Problem http Befehle aus NodeRed abzusetzen, aber wenn Du das lieber in Blockly machst ist das alles OK - nur wenn Du schreibst:
Wie ich einen Sprachbefehl (alexa) in Node Red einf
ü
ge habe ich auch hinbekommen.dann musst Du schon einen Flow haben und musst beschreiben k
ö
nnen, was Du f
ü
r Informationen Du aus dem Sprachbefehl bekommst. Poste halt mal Deinen Flow und exportiere ihn und stell ihn hier ein - wenn Du nicht wei
ß
t wie das geht, helfe ich Dir da auch gerne.Im Prinzip schreibst Du Deine Info mit NodeRed in einen Datenpunkt:

Ich habe hier mal einen DP 0_userdata.0.target genommen.
Falls Du damit was in den Datenpunkt reingeschrieben hast, kannst Du damit Dein Bockly triggern:

Das target ist der Datenpunkt 0_userdata.0.target
-
@labamba sagte in Node Red und Blockly Scripte:
@mickym
Ich verwende eine Shelly 2.5 dazu. Die Position (H
ö
he) steuer ich
ü
ber einen http befehl an. Der Winkel wird
ü
ber die Fahrzeit eingestellt. Das funktioniert im Moment nur
ü
ber ein Blockly Skript.
Folglich wollte ich jetzt die verschiedenen Skripte mit unterschiedlichen Sprachbefehlen in Node-Red verbinden.
Komplett ge
ö
ffnet oder geschlossen k
ö
nnte ich auch direkt mit einem hhtp Befehl ausl
ö
sen. Jedoch habe ich leider keine Ahnung wie dies in Node-Red funktioniert.Ich hab das alles verstanden und hab Dir ja geschrieben wie es grunds
ä
tzlich funktioniert. Man k
ö
nnte das auch alles direkt in NodeRed abbilden, aber das wollen wir ja nicht.
Wenn Dir meine Hilfestellung zu ungenau ist, dann musst Du mir halt genau Deinen Flow hier zeigen bzw. mir genau sagen, was aus den Alexa Nodes f
ü
r Informationen herauskommen.Wie gesagt ist auch kein Problem http Befehle aus NodeRed abzusetzen, aber wenn Du das lieber in Blockly machst ist das alles OK - nur wenn Du schreibst:
Wie ich einen Sprachbefehl (alexa) in Node Red einf
ü
ge habe ich auch hinbekommen.dann musst Du schon einen Flow haben und musst beschreiben k
ö
nnen, was Du f
ü
r Informationen Du aus dem Sprachbefehl bekommst. Poste halt mal Deinen Flow und exportiere ihn und stell ihn hier ein - wenn Du nicht wei
ß
t wie das geht, helfe ich Dir da auch gerne.Im Prinzip schreibst Du Deine Info mit NodeRed in einen Datenpunkt:

Ich habe hier mal einen DP 0_userdata.0.target genommen.
Falls Du damit was in den Datenpunkt reingeschrieben hast, kannst Du damit Dein Bockly triggern:

Das target ist der Datenpunkt 0_userdata.0.target
@mickym
Ich habe es jetzt auch grunds
ä
tzlich verstanden und werde es mal Testen.DATENPUNKTE sind ja bereits angelegt.

Und dann so in Node Red anlegen


Werde es morgen mal testen ob es geht!
Du schreibst es k
ö
nnte auch direkt in Node Red umgesetzt werden. -
@mickym
Ich habe es jetzt auch grunds
ä
tzlich verstanden und werde es mal Testen.DATENPUNKTE sind ja bereits angelegt.

Und dann so in Node Red anlegen


Werde es morgen mal testen ob es geht!
Du schreibst es k
ö
nnte auch direkt in Node Red umgesetzt werden.@labamba Mach mal zwischen den iobroker out Nodes und den Alexa Nodes noch eine Change Node in dem Du ein Boolean = true setzt. Deine Datenpunkte sind alles Buttons, bei den Du ein Bet
ä
tigung durch ein true ausl
ö
st.Schau dass Du ein Boolean und keinen String in den Datenpunkt sendest:

Achte auch darauf, dass im Adapter keine Stringkonvertierung eingeschaltet ist.
-
@labamba Mach mal zwischen den iobroker out Nodes und den Alexa Nodes noch eine Change Node in dem Du ein Boolean = true setzt. Deine Datenpunkte sind alles Buttons, bei den Du ein Bet
ä
tigung durch ein true ausl
ö
st.Schau dass Du ein Boolean und keinen String in den Datenpunkt sendest:

Achte auch darauf, dass im Adapter keine Stringkonvertierung eingeschaltet ist.
@mickym
Danke schon einmal f
ü
r die Hilfe!
Werde es morgen mal testen.W
ä
re nat
ü
rlich noch viel eleganter wenn
ü
ber einen Sprachbefehl, die Position http-Befehl angesteuert werden k
ö
nnte.
Bzw. bei den normalen Rolll
ä
den habe ich es auch so:

hinbekommen.W
ü
rde mich interessieren ob das mit dem Drehwinkel der Raffstore nach Zeit in Node Red auch ohne Skript umsetzbar ist. -
@mickym
Danke schon einmal f
ü
r die Hilfe!
Werde es morgen mal testen.W
ä
re nat
ü
rlich noch viel eleganter wenn
ü
ber einen Sprachbefehl, die Position http-Befehl angesteuert werden k
ö
nnte.
Bzw. bei den normalen Rolll
ä
den habe ich es auch so:

hinbekommen.W
ü
rde mich interessieren ob das mit dem Drehwinkel der Raffstore nach Zeit in Node Red auch ohne Skript umsetzbar ist.@labamba Kurzfristig wird das denke ich wahrscheinlich funktionieren, wobei ich die komplette Steuerung relativ umst
ä
ndlich finde.Mit den Buttons etc.
Die Steuerung ist ja nur dieser Part des Blocklies:

Du scheinst Deine Shellies also weder
ü
ber den Adapter noch
ü
ber MQTT, sondern direkt
ü
ber die HTTP API steuern.

Also sollte ja mit den Prozentzahlen, das wahrscheinlich so gehen:
http://192.168.178.35/roller/0?go=to_pos&roller_pos=25Im Prinzip ist ja f
ü
r ein Ger
ä
t die URL gleich und nur der Prozentwert ist halt anders. Deswegen verstehe ich auch nicht, warum man da zig Buttons macht, anstelle einfach eine Prozentzahl in einen Datenpunkt zu schreiben bzw. auch bei Sprachbefehl halt - stelle auf x %.Die URL um den Shelly mit HTTP zu steuern ist ja easy und habe ich ja oben schon gepostet.
Wenn also Prozentzahlen
ü
ber ALexa oder was auch immer ankommt, l
ä
sst sich doch die URL dynamsich anstelle von fix zusammenstellen.
Was Du mit Drehwinkel meinst - weiss ich gerade nicht - ist das der 2. Teil Deines Blocklies?
-
Hallo,
ich experimentiere gerade etwas mit Node Red und Blockly Scripten herum.
Dabei w
ü
rde ich gerne
ü
ber einen Sprachbefehl (alexa) in Node Red ein Blockly Script ausl
ö
sen.
Vielleicht kann mir jemand weiterhelfen wie dies M
ö
glich ist.
Der Sprachbefehl funktioniert ohne Probleme. Jedoch ist es mir nicht bekannt wie ich mit Node Red ein Blockly Skript ausl
ö
sen kann.@labamba Zu dem 2. Teil des Blocklies - aber ich bin kein Blockly Spezialist:

... finde ich es nicht gut - buttons auf false zu setzen. Buttons sind Taster und sind stateless, dass hei
ß
t sie haben keinen Status. Ein Button oder Taster (also Lichtschalter als Taster) - dr
ü
ckst Du - dann wird true ausgel
ö
st und triggert. Nach dem Trigger passiert nichts, bis wieder gedr
ü
ckt wird - also wieder ein True kommt. Das hei
ß
t der Status eines Taster ist immer true und nie false. Es wird auf Aktualisierung getriggert, sprich wann wurde das true erneuert bzw. der Taster erneut gedr
ü
ckt.Bei dem Timer gehe ich mal davon aus, dass das nur ein Schutz ist, dass innerhalb der 5 Sekunden, in den sich die Lamellen ausrichten, nicht erneut getriggert wird. Das kann man im NodeRed einfacher
ü
ber einen Trigger l
ö
sen.
Die Umsetzung dieses Blocklies in NodeRed w
ü
rde ich halt so umsetzen:
Die iobroker In Node muss man halt noch umstellen, dass die am Anfang initialisiert wird. Das machte nur bei mir keinen Sinn, da ich ja keinen Shelly Adapter habe. Und bei mehreren Raffstores muss man nat
ü
rlich eine Flowvariable pro Raffstore anlegen, damit sich das nicht gegenseitig beeinflusst.Falls das tats
ä
chlich nacheinander mit dem Close/Open und der Pause stattfinden soll, dass muss man es halt serialisieren.
und wenn man so was ganz elegant machen will - dann verpackt man das in einen Subflow - da sind dann auch die Flowvariable je Instanz initialisiert.
Damit brauchst Du dann nicht f
ü
r jedes Raffrollo einen neuen Flow erstellen, sondern nutzt einfach diese neue Node:
damit kannst dann einfach diese Node an die States Deiner Raffstores anh
ä
ngen. Die Datenpunkte zum Schreiben werden dann automatisch aus dem Topic ermittelt.
Hier der Flow mit den neuen Nodes:
Wichtig ist das halt vorher eine Initialisierung mit open oder close stattgefunden hat.
Ach und hab mir gerade Dein Blockly angeschaut - falls der Button und nicht der state triggern soll, dann muss man den Anfang halt noch umstellen. Das blicke ich bei den Blocklies nicht so ganz. F
ü
r mich sind das erst mal 2 unabh
ä
ngige Trigger - einmal der Button Datenpunkt und einmal der State Datenpunkt des Shelly Adapters.Bei den iobroker-IN Nodes zu den Shelly Datenpunkten - diese ggf. umstellen, dass sie nur Nachrichten durchlassen, wenn sich ein Wert
ä
ndert. Shellies sind ja in der Regel geschw
ä
tzig und habe keine Ahnung wie der Shelly Adapter das handhabt. -
@labamba Kurzfristig wird das denke ich wahrscheinlich funktionieren, wobei ich die komplette Steuerung relativ umst
ä
ndlich finde.Mit den Buttons etc.
Die Steuerung ist ja nur dieser Part des Blocklies:

Du scheinst Deine Shellies also weder
ü
ber den Adapter noch
ü
ber MQTT, sondern direkt
ü
ber die HTTP API steuern.

Also sollte ja mit den Prozentzahlen, das wahrscheinlich so gehen:
http://192.168.178.35/roller/0?go=to_pos&roller_pos=25Im Prinzip ist ja f
ü
r ein Ger
ä
t die URL gleich und nur der Prozentwert ist halt anders. Deswegen verstehe ich auch nicht, warum man da zig Buttons macht, anstelle einfach eine Prozentzahl in einen Datenpunkt zu schreiben bzw. auch bei Sprachbefehl halt - stelle auf x %.Die URL um den Shelly mit HTTP zu steuern ist ja easy und habe ich ja oben schon gepostet.
Wenn also Prozentzahlen
ü
ber ALexa oder was auch immer ankommt, l
ä
sst sich doch die URL dynamsich anstelle von fix zusammenstellen.
Was Du mit Drehwinkel meinst - weiss ich gerade nicht - ist das der 2. Teil Deines Blocklies?
@mickym
Ich glaube ich muss erstmal eine Verst
ä
ndnisfrage kl
ä
ren.- Rolladen (F
ä
hrt nur auf und ab)
Sprachsteuerung:
Das habe ich hinbekommen diesen
ü
ber NODE RED mit einer Prozentangabe zu steuern. Also kein Skript notwendig. Funktioniert top seit 1 Jahr!Die R
ü
ckantwort habe ich hier
ü
ber mqtt direkt auf iobroker-vis (Handy oder Tablettsanzeige). Also eine Anzeige zwischen 0-100% f
ü
r den
Ö
ffnungsgrad des Rollo. Also nicht mal node-red notwendig. Funktioniert top!Handsteuerung:
Jedoch habe ich auch ein Tablet oder ein Handy. Hier habe ich mir zur Steuerung Buttons angelegt. Hinter diesen Buttons liegt ein Skript das ausgel
ö
st wird.Funktioniert top seit 1 Jahr!
Die R
ü
ckantwort habe ich auch wieder
ü
ber mqtt als Anzeige zwischen 0-100%.- Raffstore
Dieser F
ä
hrt nicht nur auf und ab (k
ö
nnte
ü
ber % in node red geregelt werden/ Teil 1 des Skript) sonder hat Lamellen die in der Position ge
ä
ndert werden k
ö
nnen (-90
°
bis 90
°
). Dies ist aber nur
ü
ber die genaue Fahrzeit m
ö
glich (Teil 2 meines Skriptes). EIne andere M
ö
glichkeit habe ich nicht gefunden. Das Skript schaut da etwas exotisch aus, da ich immer erst zum gleichen Ausgangspunkt f
ü
r den Drehwinkel fahre.
D.h. F
ä
hrt der Raffstore in Position von oben nach unten, ist der Winkel der Lammelen 90
°
.
F
ä
hrt der Raffstore von unten nach oben ist, ist der Winkel der Lammelen -90
°
C.
Folglich macht der Raffstore dann erst eine Drehung auf 90
°
und anschliesend wird der Winkel
ü
ber die Fahrzeit eingestellt.
Habe schon ein paar Wochen rumget
ü
ftelt bis es sehr zuverl
ä
ssig lief.
Handsteuerung:
Genau wie bei den Roll
ä
den liegt ein Skript hinter den Buttons das ausgel
ö
st wird. Funktioniert top seit 1 Jahr!
Die R
ü
ckantwort habe ich auch wieder
ü
ber mqtt als Anzeige zwischen 0-100%. Jedoch ist dies nur die H
ö
he des Raffstore. Denn Drehwinkel habe ich leider nicht geschafft mir ausgeben zu lassen. W
ü
sste gerade auch nicht wie.Sprachsteuerung:
Hieran arbeite ich ja gerade. Die L
ö
sung
ü
ber Skripte finde ich auch nicht so toll. Problem wird sein. Das f
ü
r jedes Skript ein Sprachbefehl notwendig ist. Bei
ä
hnlichen Sprachbefehlen nervt Alexa schon rum.
Eine L
ö
sung
ü
ber einen Sprachbefehl, einer Prozentangabe (h
ö
he des Raffstore) und einer Zeiten Angabe (f
ü
r den Drehwinkel) w
ä
re schon wirklich nice.
Jedoch habe ich keinen Plan wie das in NODE RED gehen k
ö
nnte.
Ich schaue mir aber mal an, was du mir da alles geschickt hast. Schon mal danke daf
ü
r.Allgemein: F
ü
r das Skript war es f
ü
r mich sehr einfach den http Befehl f
ü
r die Position, auf und ab zu verwenden. L
ä
uft auch sehr zuverl
ä
ssig!
Jedoch verwende ich grunds
ä
tzlich mqtt f
ü
r die Shellys. - Rolladen (F
-
https://forum.iobroker.net/assets/uploads/files/1642116367492-screen.png
Ich bin echt kein Script Experte und nehme gerne Verbesserungsvorschl
ä
ge an. Ich habe leider nicht verstanden wie du dies im Script
ä
ndern w
ü
rdest.Bei dem Timer gehe ich mal davon aus, dass das nur ein Schutz ist, dass innerhalb der 5 Sekunden, in den sich die Lamellen ausrichten, nicht erneut getriggert wird. Genau so ist das gemeint. Jedoch schalte ich hier ja nichts mehr aus.
-
https://forum.iobroker.net/assets/uploads/files/1642116367492-screen.png
Ich bin echt kein Script Experte und nehme gerne Verbesserungsvorschl
ä
ge an. Ich habe leider nicht verstanden wie du dies im Script
ä
ndern w
ü
rdest.Bei dem Timer gehe ich mal davon aus, dass das nur ein Schutz ist, dass innerhalb der 5 Sekunden, in den sich die Lamellen ausrichten, nicht erneut getriggert wird. Genau so ist das gemeint. Jedoch schalte ich hier ja nichts mehr aus.
@labamba Also grunds
ä
tzlich ist das alles was ich sage, nicht als Kritik gemeint und wenn ich vermeintliche Verbesserungsvorschl
ä
ge oder Alternativen vorschlage, habe ich vielleicht all Deinen Erfahrungsschatz nicht ber
ü
cksichtigt.Deine urspr
ü
ngliche Frage was ja wie Du NodeRed mit den Blocklies verbinden kannst und das habe ich ja am Anfang beantwortet und damit k
ö
nnen wir es ja bewenden lassen.Vielleicht habe ich halt nur ein Verst
ä
ndnisproblem oder keine Erkl
ä
rung?Also wenn ich sowas schrieb, wie:
Im Prinzip ist ja f
ü
r ein Ger
ä
t die URL gleich und nur der Prozentwert ist halt anders. Deswegen verstehe ich auch nicht, warum man da zig Buttons macht, anstelle einfach eine Prozentzahl in einen Datenpunkt zu schreiben bzw. auch bei Sprachbefehl halt - stelle auf x %Dann verstehe ich es halt nicht.
Wie gesagt, Du musst da nichts
ä
ndern oder gar als Angriff auf Deine L
ö
sung sehen. Wenn Du zu Deiner Handsteuerung schreibst:Handsteuerung:
Jedoch habe ich auch ein Tablet oder ein Handy. Hier habe ich mir zur Steuerung Buttons angelegt. Hinter diesen Buttons liegt ein Skript das ausgel
ö
st wird.Funktioniert top seit 1 Jahr!Die R
ü
ckantwort habe ich auch wieder
ü
ber mqtt als Anzeige zwischen 0-100%.dann meinte ich ja - ist doch gut, wenn Du aus Gr
ü
nden der Bedienung hier Button nimmst, aber h
ä
tte man hinter diese Buttons nicht einfach Prozentzahlen in einen Datenpunkt schreiben k
ö
nnen und das dann auswerten, anstelle f
ü
r jeden Button in Deiner VIS einen eigenen Datenpunkt zu machen? Gibt ja vielleicht Gr
ü
nde, die ich nicht verstehe.Nun was ich auch nicht verstanden habe, wenn Du schreibst:
Allgemein: F
ü
r das Skript war es f
ü
r mich sehr einfach den http Befehl f
ü
r die Position, auf und ab zu verwenden. L
ä
uft auch sehr zuverl
ä
ssig!Jedoch verwende ich grunds
ä
tzlich mqtt f
ü
r die Shellys.Liegt das generell daran, dass Du keine Kommandos
ü
ber mqtt an Deine Shellies verschickst. Wie gesagt ist kein Problem wenn Du das
ü
ber HTTP zu machen.
Ü
ber mqtt w
ä
re es halt:
mit stop,close,open
ü
ber das Topic:shellies/shellyswitch25-<deviceid>/roller/0/commandbzw.
shellies/shellyswitch25-<deviceid>/roller/0/command/posgegangen - aber wie gesagt, es gibt mehrere Wege nach Rom und man kann das auch
ü
ber http machen, daf
ü
r gibt es ja diese API.
So grunds
ä
tzlich gibt es f
ü
r das Problem des Drehwinkels keine fertige L
ö
sung, sondern ist ja gut, wie Du das mit Deinem Skript gel
ö
st hast und ich habe ja Dein Skript nur in Node Red abgebildet (weil es Dich ja interessiert hat - ansonsten kannst Du ja wie gesagt
ü
ber die Buttons einfach Deine Blocklies triggern, wie urspr
ü
nglich geplant).
Im Prinzip ist es - und das kann ich dann zum 2. Teil sagen - v
ö
llig egal, ob Du per Hand oder Sprachsteuerung Dein Raffstore steuerst, denn das Script wird ja durch den stop Status getriggert, um dann die Lamellen durch ein zeitliches Fahren in die Gegenrichtung die Lamellen auszurichten. Das habe ich schon verstanden und soweit auch mit dem Flow 1:1 umgesetzt - bis auf die Abpr
ü
fung eines Buttons. Das l
ä
sst sich, denke ich, auch nicht anders l
ö
sen. -
@labamba sagte in Node Red und Blockly Scripte:
https://forum.iobroker.net/assets/uploads/files/1642116367492-screen.png
Ich bin echt kein Script Experte und nehme gerne Verbesserungsvorschl
ä
ge an. Ich habe leider nicht verstanden wie du dies im Script
ä
ndern w
ü
rdest.Bei dem Timer gehe ich mal davon aus, dass das nur ein Schutz ist, dass innerhalb der 5 Sekunden, in den sich die Lamellen ausrichten, nicht erneut getriggert wird. Genau so ist das gemeint. Jedoch schalte ich hier ja nichts mehr aus.
Nun die erste Bemerkung zielte nur darauf, dass man das im NodeRed mit dem vorigen Wert
ü
ber eine Flow-Variable l
ö
sen muss, weil die iobroker-IN Nodes hier nicht die gleichen Informationen zu einem Objekt rausr
ü
cken, wie der Trigger in einem Blockly.Die zweite Bemerkung - insbesondere nachdem Du best
ä
tigt hast, dass es nur zum Schutz dienen soll, dass w
ä
hrend der Ausrichtung der Lamellen durch deren Bewegung keine neuen Trigger entstehen sollen, warum Du hier einen Button noch abfr
ä
gst. Im Prinzip w
ä
re es doch ausreichend, wenn man einfach in der Zeit alle Trigger in der Zeit der Lamellenausrichtung jedes weitere Triggern unterbinden w
ü
rde - da spielt doch der Button keine Rolle mehr?
So habe ich es nun zumindest in dem NR Flow umgesetzt.Sprich ich verstehe einfach nicht, warum man den Button in dem Skript
ü
berhaupt braucht. Langt es nicht, dass das Skript einfach nicht ausgef
ü
hrt wird, solange der Timer timeout aktiv ist (also die 5 sek.)?In allen F
ä
llen - egal ob mit Hand oder Sprachsteuerung - ist es doch so, dass mit dem stop im Status des Stores die Ausrichtung - sprich das kurze Anfahren in die Gegenrichtung eingeleitet wird. -
@mickym
Ich glaube ich muss erstmal eine Verst
ä
ndnisfrage kl
ä
ren.- Rolladen (F
ä
hrt nur auf und ab)
Sprachsteuerung:
Das habe ich hinbekommen diesen
ü
ber NODE RED mit einer Prozentangabe zu steuern. Also kein Skript notwendig. Funktioniert top seit 1 Jahr!Die R
ü
ckantwort habe ich hier
ü
ber mqtt direkt auf iobroker-vis (Handy oder Tablettsanzeige). Also eine Anzeige zwischen 0-100% f
ü
r den
Ö
ffnungsgrad des Rollo. Also nicht mal node-red notwendig. Funktioniert top!Handsteuerung:
Jedoch habe ich auch ein Tablet oder ein Handy. Hier habe ich mir zur Steuerung Buttons angelegt. Hinter diesen Buttons liegt ein Skript das ausgel
ö
st wird.Funktioniert top seit 1 Jahr!
Die R
ü
ckantwort habe ich auch wieder
ü
ber mqtt als Anzeige zwischen 0-100%.- Raffstore
Dieser F
ä
hrt nicht nur auf und ab (k
ö
nnte
ü
ber % in node red geregelt werden/ Teil 1 des Skript) sonder hat Lamellen die in der Position ge
ä
ndert werden k
ö
nnen (-90
°
bis 90
°
). Dies ist aber nur
ü
ber die genaue Fahrzeit m
ö
glich (Teil 2 meines Skriptes). EIne andere M
ö
glichkeit habe ich nicht gefunden. Das Skript schaut da etwas exotisch aus, da ich immer erst zum gleichen Ausgangspunkt f
ü
r den Drehwinkel fahre.
D.h. F
ä
hrt der Raffstore in Position von oben nach unten, ist der Winkel der Lammelen 90
°
.
F
ä
hrt der Raffstore von unten nach oben ist, ist der Winkel der Lammelen -90
°
C.
Folglich macht der Raffstore dann erst eine Drehung auf 90
°
und anschliesend wird der Winkel
ü
ber die Fahrzeit eingestellt.
Habe schon ein paar Wochen rumget
ü
ftelt bis es sehr zuverl
ä
ssig lief.
Handsteuerung:
Genau wie bei den Roll
ä
den liegt ein Skript hinter den Buttons das ausgel
ö
st wird. Funktioniert top seit 1 Jahr!
Die R
ü
ckantwort habe ich auch wieder
ü
ber mqtt als Anzeige zwischen 0-100%. Jedoch ist dies nur die H
ö
he des Raffstore. Denn Drehwinkel habe ich leider nicht geschafft mir ausgeben zu lassen. W
ü
sste gerade auch nicht wie.Sprachsteuerung:
Hieran arbeite ich ja gerade. Die L
ö
sung
ü
ber Skripte finde ich auch nicht so toll. Problem wird sein. Das f
ü
r jedes Skript ein Sprachbefehl notwendig ist. Bei
ä
hnlichen Sprachbefehlen nervt Alexa schon rum.
Eine L
ö
sung
ü
ber einen Sprachbefehl, einer Prozentangabe (h
ö
he des Raffstore) und einer Zeiten Angabe (f
ü
r den Drehwinkel) w
ä
re schon wirklich nice.
Jedoch habe ich keinen Plan wie das in NODE RED gehen k
ö
nnte.
Ich schaue mir aber mal an, was du mir da alles geschickt hast. Schon mal danke daf
ü
r.Allgemein: F
ü
r das Skript war es f
ü
r mich sehr einfach den http Befehl f
ü
r die Position, auf und ab zu verwenden. L
ä
uft auch sehr zuverl
ä
ssig!
Jedoch verwende ich grunds
ä
tzlich mqtt f
ü
r die Shellys.@labamba sagte in Node Red und Blockly Scripte:
Sprachsteuerung:
Hieran arbeite ich ja gerade. Die L
ö
sung
ü
ber Skripte finde ich auch nicht so toll. Problem wird sein. Das f
ü
r jedes Skript ein Sprachbefehl notwendig ist. Bei
ä
hnlichen Sprachbefehlen nervt Alexa schon rum.
Eine L
ö
sung
ü
ber einen Sprachbefehl, einer Prozentangabe (h
ö
he des Raffstore) und einer Zeiten Angabe (f
ü
r den Drehwinkel) w
ä
re schon wirklich nice.
Jedoch habe ich keinen Plan wie das in NODE RED gehen k
ö
nnteNun verstehe ich auch nicht so ganz.
Ü
ber die Prozentzahl kannst Du doch genauso wie bei den Rolll
ä
den die
Ö
ffnung bestimmen. Das Ausrichten erfolgt doch immer dann automatisch, wenn der state auf stop triggert?OK wenn Du verschiedene Drehwinkel bei geschlossenem Raffstore erreichen willst, dann wird es nat
ü
rlich schwierig und Du brauchst verschiedene Kommandos.
Aber egal wie, das mit der zeitlichen Steuerung l
ä
sst sich in NodeRed nahezu 1:1 wie in den Blocklies umsetzen. - Rolladen (F
-
@labamba Mach mal zwischen den iobroker out Nodes und den Alexa Nodes noch eine Change Node in dem Du ein Boolean = true setzt. Deine Datenpunkte sind alles Buttons, bei den Du ein Bet
ä
tigung durch ein true ausl
ö
st.Schau dass Du ein Boolean und keinen String in den Datenpunkt sendest:

Achte auch darauf, dass im Adapter keine Stringkonvertierung eingeschaltet ist.
-
@labamba Ich gehe mal von der 1. Version aus, in dem Du mit true Deinen Taster ausl
ö
st. Auf dem Screenshot ist ja noch nicht deployed. Hast Du die Change Node auch wie unten konfiguriert. Sonst musst halt mit Debug Nodes kontrollieren. Kommt aus der Alexa Node
ü
berhaupt was raus?
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
