NEWS
Mehrere Aktionen in einem blockly Script ausführen
-
Hallo zusammen,
trotz intensiver Suche im Forum bin ich ohne Antwort geblieben. Deshalb erzeuge ich hier meine Frage nun als eigenen Thread.
Ich steuere über meinen iobroker ziemlich viel im Haushalt. Auch mein Heimkino wird darüber gesteuert. Sprachbefehle werde hierbei über Node-RED und die Alexa Integration entgegen genommen und dann im iobroker umgesetzt.
Einzelne Geräte können problemlos geschaltet werden.
- Alexa beamer an
- Alexa Receiver an
- Alexa Subwoofer an
- Alexa Playstation an
- usw
geht alles einzeln wunderbar.
Zu beginn wollte ich mit Node-RED folgendes realisieren
- Alexa Kino an
Von dem Objekt Kino habe ich dann verzweigt auf die anderen Aktionen für Subwoofer etc. Hat aber nie bzw. immer nur für ein oder zwi Sachen funktioniert. Habe dann irgendwo gelesen, dass man das so mit dem Node-RED nicht machen soll.
Daraufhin habe ich eine Szene im iobroker gebaut -> Szene mit Node-RED angesteuert -> hat auch nicht geholfen. Hat auch hier nur ein oder zwei Geräte gesteuert.
Um das Kino zu starten, steuert Node-Red nun nur noch ein Objekt true / false:
Dann bin ich hin und habe mit Blockly gearbeitet und zwar zurerst ohne Verzögerung und nun mit immer mehr Verzögerung. Aber es klappt nicht. Es wird mal nur der Beamer angeschaltet oder der Subwoofer. Aber nie alles zusammen. (insgesamt knapp 12 Aktionen). Ich muss dann immer manuell "Befehle sprechen".
So sieht es aus in Blockly:
Habt ihr eine Idee wie ich die Massenverarbeitung von Aktionen hinbekomme oder vielleicht was ich falsch mache?
Versionen:
iobroker host: 1.5.7adapter
iobroker admin 3.6.0
node-red 1.7.1ich habe das problem seit ich damit arbeite. Also ca ein Jahr jetzt. Bisher habe ich es aktzeptiert. Aber nun nicht mehr. Und ich habe einfach keinen Ansatz dem ich nachgehen kann.
LG
Philipp
-
Ich nutze Alexa nur wenig aber fasse doch alle Sachen in einer eigenen Routine in der App zusammen.
-
@wendy2702 sagte in Mehrere Aktionen in einem blockly Script ausführen:
Ich nutze Alexa nur wenig aber fasse doch alle Sachen in einer eigenen Routine in der App zusammen.
Was genau meinst du mit "in einer eigenen Routine" inder App?
Meinst du in Node Red?
Ich hatte es mal eine Zeitlang so versucht. Dieses Bild ist nur ein Beispiel. Von dem einen Objekt "Kino" bin ich dann auf viele andere Aktionen verzweigt. Hat aber garnicht geklappt.
(Achtung nur ein Beispielbild)
-
Nein,
ich meine die Alexa App.
Da kann man mehrere Aktionen zusammenfassen welche dann nacheinander ausgeführt werden. Setzt natürlich voraus das du die von dir erwähnten Aktionen in der Alexa App siehst.
Ich habe z.B. eine Guten Morgen Routine die bestimmte Rollladen öffnet, Licht einschaltet etc.
-
@rayman sagte in Mehrere Aktionen in einem blockly Script ausführen:
Was genau meinst du mit "in einer eigenen Routine" inder App?
Man kann in der Alexa App auf dem Handy oder dem Tablet sog. Routinen anlegen, die mehrere Aktionen abarbeiten, wenn man sie ausführt.
Über den Alexa2 Adapter kann man in ioBroker dann auf diese Routinen zugreifen und sie in allem möglichen, auch ohne Sprachbefehl an Alexa, verwursten.
-
ok, habe ich verstanden. aber das darf doch nicht die lösung sein?
ich mag den iobroker.
ich steuere alles mit dem iobroker.
ich bin zufrieden mit dem iobroker.ich will auch das problem mit dem iobroker lösen.
das mit der alexa2 app schaue ich mir jetzt an ( danke vpn
) aber das ist nicht meine wunschlösung.
Danke trotzdem für den Hinweis!
LG
Philipp -
Verstehe deine Aussage nicht.
Wieso soll das Anlegen einer Routine in der Alexa App nicht die Lösung sein?
Wo bitte ist der Unterschied oder Vorteil daran wenn man wie du einen Extra NodeRed Flow erzeugt?
In der Alexa App packst du diese "Befehle" :
Alexa beamer an
Alexa Receiver an
Alexa Subwoofer an
Alexa Playstation an
uswEinfach in eine Routine, nennst die z.B. Kino und fertig.
Den Alexa2 Adapter benötigst du nur wenn du z.B. die Routine dann auch per Button aus VIS starten willst.
-
Wenn Du mehrere Dinge gleichzeitig steuern möchtest, kannst Du dafür doch den Szenen-Adapter nehmen. Die Szene trägst Du dann manuell in den IOT Adapter bei den Smart Geräten ein, und dann taucht sie als Gerät in Alexa auf.
Alternativ kannst Du die einen eigenen Datenpunkt (State) erzeugen und den als Trigger für dein Blockly benutzen. Den Datenpunkt dann wieder in den IOT Adapter eintragen, und dann aus Alexa heraus ansteuern. -
Viele Wege führen nach ROM
-
@wendy2702
Stimmt, das ist eine Frage des eigenen Konzeptes. Ich habe gerne alles an einer Stelle - im ioBroker. Wenn ich anfange Szenen in Alexa, HUE und sonstwo anzulegen, dann verliere ich zumindest den Überblick. -
@OstfrieseUnterwegs sagte in Mehrere Aktionen in einem blockly Script ausführen:
@wendy2702
Stimmt, das ist eine Frage des eigenen Konzeptes. Ich habe gerne alles an einer Stelle - im ioBroker. Wenn ich anfange Szenen in Alexa, HUE und sonstwo anzulegen, dann verliere ich zumindest den Überblick.genau das ist auch mein Gedanke.
Wobei natürlich alles auch in der Alexa App gemacht werden kann, so wie wendy2702 es ansprach.
Dein Vorschlag mit den Szenen hat bei mir auch nur bedingt funktioniert. Das Schalten der Szene hat grundsätzlich funktioniert allerdings hat die szene nie alle Geräte geschaltet.
Kann es sein, dass man auf manche Adapter (lightify, hue o.ä.) nur mit verzögerung Befehle absetzen darf?
-
Warum Deine Szenen nicht funktionieren, kann ich auch nciht sagen. Dann nimm derweilen einen Trigger-Datenpunkt
EDIT: Sorry, ich hab irgendwie an Deinem Problem vorbei gelesen. Das scheinen Irgendwelche Timing Probleme zu sein. Ich steuere auch einen ganzen Schwung Geräte in einem Blockly oder in einer Szene. Aber davon nur zwei HUE und keine lightify. Kommen die beiden sich vlt ins Gehege?
-
@OstfrieseUnterwegs sagte in Mehrere Aktionen in einem blockly Script ausführen:
Warum Deine Szenen nicht funktionieren, kann ich auch nciht sagen. Dann nimm derweilen einen Trigger-Datenpunkt
EDIT: Sorry, ich hab irgendwie an Deinem Problem vorbei gelesen. Das scheinen Irgendwelche Timing Probleme zu sein. Ich steuere auch einen ganzen Schwung Geräte in einem Blockly oder in einer Szene. Aber davon nur zwei HUE und keine lightify. Kommen die beiden sich vlt ins Gehege?
das war auch mein Gedanke. Zu Beginn meines Projekts hatte ich alle Lightify Sachen und andere Zigbee Sachen an der HUE Bridge. HAt auch geklappt. Irgendwann (nachdem 25 nicht Philips Geräte dran waren) hat die Bridge angefangen Sachen wahllos nicht mehr zu schalten.
Deshalb habe ich mit dann das Osram GW gekauft. Danach hatte ich keine Probleme mehr.
Das schalten von ganzen Gruppen auf ein Mal ist bei mir halt das Problem
In Blockly habe ich mir eine Testgruppe gebaut in der ich alle Plugs abschalte.
Funktioniert nicht. Er schaltet ein paar ab und den rest nicht. Es sind aber auch nie die gleichen Plugs immer unterschiedlich.
Ich muss mir mal Zeit nehmen und den iobroker neu machen. Vielleicht habe ich da irgendwo einen Dreher drin oder was kaputt gemacht.
-
hoffentlich verstehe ich es überhaupt richtig:
du sagst, wenn du das blockly von ganz oben anschaltest (triggerst), werden nicht alle geräte geschaltet ? das blockly sollte aber funktionieren - allein deine zeiteinstellungen sind etwas merkwürdig - wenn du alle mit 250 ms verzögerst, kannst du diese verzögerung eigentlich sparen !?! (zumindest die 4 welche 250ms haben.) wenn alle geräte unabhängig von einander eingeschalten werden dürfen, brauchst du keine verzögerung
den subwoofer ein und nach einer sekunde das volume zu ändern finde ich etwas zu schnell - würde eher 3-4 sek wartenalso ich würde erstmal das blockly stabil zum laufen bringen - wie du anschliessend das blocky triggerst (über alexa) ist zweitrangig) - welche geräte starten eigentlich nicht - oder sind es immer verschiedene, die nicht angehen
wenn du das blockly mit einem datenpunkt im web-admin-objecte zum laufen bekommst - kommt der zweite schritt - ich würde definitiv alles mit dem blockly schalten und keinen mix aus alexa-routinen oder sowas machen!
-
sorry - mein editor fenster war zu lange offen - bedeuten die letzten beiden posts, dass du nur mit den lampen ein problem hast, oder schaltet sich auch andere geräte (wie z.b der subwoofer) nur manchmal an oder aus? das wäre dann ein ganz anderes problem
-
ich mache sehr viel mit blockly und bin wirklich sehr früh darüber dass dieses Tool in den iobroker integriert ist.
ich habe im blockly sicher über 20 scripte sauber laufen.
wie du richtig festgestellt hast sind die timer wild. das ist auch nur ein aktueller stand. ich hatte da mal auch 5 sekunden und 10 sekunden drin alles unterschiedlich.
das problem war immer, dass er mal nur den subwoofer gemacht hat
dann mal nur das licht an
dann mal nur licht und subwoofer
es ist nie "nur der subwoofer" angegangen.
es war noch nie so, dass nur einer anging.aber grundsätzlich mache ich das mit den massenaktionen richtig oder?
ignoriere mal die zeitenn.
-
@rayman
natürlich kannst du so massen von geräten schalten - mache ich auch nicht anders - manchmal muss halt erst eine steckdose eingeschalten werden und anschliessend (verzögerung) das gerät bedient werden) - da kann es manchmal eine kleines timing problem gebenda du das mit den lampen erwähnt hast - probiere das alles mal ohne die lampen - einfach im script deaktivieren - mal sehen , ob der lampen adpter da reinspinnt - also nur mal subwoofer und solche sachen schalten
-
@rayman
Ich wüde erst mal alles unter Strom setzen, also die Plugs anschalten und jeweils eine Verzögerung von 250ms. Beachte: Die Verzögerungen addieren sich nicht auf. Wenn Du den ersten mit 250ms Verzögerung schaltest und den nächsten auch mit 250, dann schalten beide (quasi) gleichzeitig under der zweite nicht mit 500. Weil ja das Blockly weiterläuft und die Verzögerung innerhalb des Steuere Blocks abgehandelt wird. -
ich werde mich mal daranmachen und es neu versuchen und die verzögerungen bewusst ablaufen lassen und so gestallten dass keiner gleichzeitig läuft
irgendwas mache ich offensichtlich falsch oder anders.
danke für eure kommentare und aufgezeigten alternativen