NEWS
Modbus Geräte mit Alexa steuern nach Skill Umstellung
-
Hallo Experten und Freunde des ioBrokers,
ich benötige nach langer Zeit wieder einmal Eure Hilfe, aber vorher noch ein frohes neues Jahr für alle!
Nach der Umstellung des Alexa Skill auf den ioBroker Assistent habe ich das Toggeln beim Ausschalten meiner Leuchten, die über meine WAGO 750-880 gesteuert werden und das Fahren der Jalousien per Sprachbefehl funktioniert nicht mehr. Ich habe schon alles ausprobiert und verzweifle bald.Zum Test habe ich einen neuen Datenpunkt angelegt und diesen im IoT Adapter bekanntgemacht.
Nach Gerätesuche durch Alexa und etwas warten war der Datenpunkt in der Alexa-App verfügbar und ich habe eine Routine angelegt.
Neues Blockly gebaut und Ausschalten (Wert ist false) will nicht klappen, nur über ein weiteres Einschalten (true) geht das Licht aus.
Das Toggeln bekomme ich nicht weg. Ich denke, dass es mit dem Bestätigen zusammenhängt.
Zum Schalten verwende ich den Baustein "steuere ...", aber damit wird bei der manuell erzeugten Variable keine Bestätigung gesetzt.
Das Bestätigen kommt ja auch von der jeweilgen Hardware, die die Entgegennahme und Ausführung des Befehls bestätigt.Kurz zur Infrastruktur und den genutzten Adaptern:
Steuerung der Leuchten und Jalousien über eine WAGO 750-880. Auf der WAGO-Seite werden alle Geräte über Codesys-Bausteine gesteuert und natürlich auch via Taster geschalten. Seit 2017 läuft bei mir die WAGO und seit 2020 habe ich die Steuerung der Leuchten und der Jalousien über Sprachbefehle realisiert. Alles lief einwandfrei bis zur Umstellung auf den neuen ioBroker Assistent Skill. Natürlich habe ich alles nach Anleitung umgestellt, also neuen Skill aktiviert und alten deaktiviert, alle Geräte in der Alexa App gelöscht und Geräte neu suchen lassen - alle gefunden und damit soweit in Ordnung. In den Routinen waren die Sprachbefgehle alle noch da, aber dcie Aktionen nicht mehr verknüpft und bei Neueinstellen der Aktion war das vielbeschriebene Toggeln und Ausschalten über zweimal Einschalten mein Problem.Folgende Adapter sind installiert:
- Alexa2 Adapter v3.27.4
- IoT Adapter v5.0.7
- JavaScript Adapter v9.0.11
- Modbus Adapter v6.3.2
Die Logik dahinter:
- Sprachbefehl "Alexa, Licht Bad Decke an" triggert die im IoT Adapter angelegte Variable (z.B. Licht_Bad_Decke) ... check
- IoT Adapter reagiert und setzt die Variable "Licht_Bad_Decke" auf true ... check
- damit wird auch der manuell erzeugte und mit der Varaiblen "Licht_Bad_Decke" verknüpfte Datenpunkt auf true gesetzt ... check
- Script reagiert auf die geänderte Variable "Licht_Bad_Decke" und prüft, ob true oder false .... check
- Da hier true, wird die im Modbus gesetzte Variable mit entsprechender Modbus Adresse ebenfalls auf true gesetzt und das Licht wird eingeschalten (so wie bisher)
- bei false geht das Licht nicht aus, obwohl die Schritte, die mit check gekennzeichnet sind, alle Ergebnisse liefern, wie erwartet.
Offensichtlich liegt der Fehler im Script, aber so langsam "sehe ich den Wald vor lauter Bäumen nicht mehr".
Was mache ich falsch?
Freue mich über jeden Denkanstoß. -
Hallo Experten und Freunde des ioBrokers,
ich benötige nach langer Zeit wieder einmal Eure Hilfe, aber vorher noch ein frohes neues Jahr für alle!
Nach der Umstellung des Alexa Skill auf den ioBroker Assistent habe ich das Toggeln beim Ausschalten meiner Leuchten, die über meine WAGO 750-880 gesteuert werden und das Fahren der Jalousien per Sprachbefehl funktioniert nicht mehr. Ich habe schon alles ausprobiert und verzweifle bald.Zum Test habe ich einen neuen Datenpunkt angelegt und diesen im IoT Adapter bekanntgemacht.
Nach Gerätesuche durch Alexa und etwas warten war der Datenpunkt in der Alexa-App verfügbar und ich habe eine Routine angelegt.
Neues Blockly gebaut und Ausschalten (Wert ist false) will nicht klappen, nur über ein weiteres Einschalten (true) geht das Licht aus.
Das Toggeln bekomme ich nicht weg. Ich denke, dass es mit dem Bestätigen zusammenhängt.
Zum Schalten verwende ich den Baustein "steuere ...", aber damit wird bei der manuell erzeugten Variable keine Bestätigung gesetzt.
Das Bestätigen kommt ja auch von der jeweilgen Hardware, die die Entgegennahme und Ausführung des Befehls bestätigt.Kurz zur Infrastruktur und den genutzten Adaptern:
Steuerung der Leuchten und Jalousien über eine WAGO 750-880. Auf der WAGO-Seite werden alle Geräte über Codesys-Bausteine gesteuert und natürlich auch via Taster geschalten. Seit 2017 läuft bei mir die WAGO und seit 2020 habe ich die Steuerung der Leuchten und der Jalousien über Sprachbefehle realisiert. Alles lief einwandfrei bis zur Umstellung auf den neuen ioBroker Assistent Skill. Natürlich habe ich alles nach Anleitung umgestellt, also neuen Skill aktiviert und alten deaktiviert, alle Geräte in der Alexa App gelöscht und Geräte neu suchen lassen - alle gefunden und damit soweit in Ordnung. In den Routinen waren die Sprachbefgehle alle noch da, aber dcie Aktionen nicht mehr verknüpft und bei Neueinstellen der Aktion war das vielbeschriebene Toggeln und Ausschalten über zweimal Einschalten mein Problem.Folgende Adapter sind installiert:
- Alexa2 Adapter v3.27.4
- IoT Adapter v5.0.7
- JavaScript Adapter v9.0.11
- Modbus Adapter v6.3.2
Die Logik dahinter:
- Sprachbefehl "Alexa, Licht Bad Decke an" triggert die im IoT Adapter angelegte Variable (z.B. Licht_Bad_Decke) ... check
- IoT Adapter reagiert und setzt die Variable "Licht_Bad_Decke" auf true ... check
- damit wird auch der manuell erzeugte und mit der Varaiblen "Licht_Bad_Decke" verknüpfte Datenpunkt auf true gesetzt ... check
- Script reagiert auf die geänderte Variable "Licht_Bad_Decke" und prüft, ob true oder false .... check
- Da hier true, wird die im Modbus gesetzte Variable mit entsprechender Modbus Adresse ebenfalls auf true gesetzt und das Licht wird eingeschalten (so wie bisher)
- bei false geht das Licht nicht aus, obwohl die Schritte, die mit check gekennzeichnet sind, alle Ergebnisse liefern, wie erwartet.
Offensichtlich liegt der Fehler im Script, aber so langsam "sehe ich den Wald vor lauter Bäumen nicht mehr".
Was mache ich falsch?
Freue mich über jeden Denkanstoß.@hdandi sagte in Modbus Geräte mit Alexa steuern nach Skill Umstellung:
Was mache ich falsch?
du zeigst nichts! 😉
fang mal mit dem möglicherweise falsche Blocly an -
Hallo Experten und Freunde des ioBrokers,
ich benötige nach langer Zeit wieder einmal Eure Hilfe, aber vorher noch ein frohes neues Jahr für alle!
Nach der Umstellung des Alexa Skill auf den ioBroker Assistent habe ich das Toggeln beim Ausschalten meiner Leuchten, die über meine WAGO 750-880 gesteuert werden und das Fahren der Jalousien per Sprachbefehl funktioniert nicht mehr. Ich habe schon alles ausprobiert und verzweifle bald.Zum Test habe ich einen neuen Datenpunkt angelegt und diesen im IoT Adapter bekanntgemacht.
Nach Gerätesuche durch Alexa und etwas warten war der Datenpunkt in der Alexa-App verfügbar und ich habe eine Routine angelegt.
Neues Blockly gebaut und Ausschalten (Wert ist false) will nicht klappen, nur über ein weiteres Einschalten (true) geht das Licht aus.
Das Toggeln bekomme ich nicht weg. Ich denke, dass es mit dem Bestätigen zusammenhängt.
Zum Schalten verwende ich den Baustein "steuere ...", aber damit wird bei der manuell erzeugten Variable keine Bestätigung gesetzt.
Das Bestätigen kommt ja auch von der jeweilgen Hardware, die die Entgegennahme und Ausführung des Befehls bestätigt.Kurz zur Infrastruktur und den genutzten Adaptern:
Steuerung der Leuchten und Jalousien über eine WAGO 750-880. Auf der WAGO-Seite werden alle Geräte über Codesys-Bausteine gesteuert und natürlich auch via Taster geschalten. Seit 2017 läuft bei mir die WAGO und seit 2020 habe ich die Steuerung der Leuchten und der Jalousien über Sprachbefehle realisiert. Alles lief einwandfrei bis zur Umstellung auf den neuen ioBroker Assistent Skill. Natürlich habe ich alles nach Anleitung umgestellt, also neuen Skill aktiviert und alten deaktiviert, alle Geräte in der Alexa App gelöscht und Geräte neu suchen lassen - alle gefunden und damit soweit in Ordnung. In den Routinen waren die Sprachbefgehle alle noch da, aber dcie Aktionen nicht mehr verknüpft und bei Neueinstellen der Aktion war das vielbeschriebene Toggeln und Ausschalten über zweimal Einschalten mein Problem.Folgende Adapter sind installiert:
- Alexa2 Adapter v3.27.4
- IoT Adapter v5.0.7
- JavaScript Adapter v9.0.11
- Modbus Adapter v6.3.2
Die Logik dahinter:
- Sprachbefehl "Alexa, Licht Bad Decke an" triggert die im IoT Adapter angelegte Variable (z.B. Licht_Bad_Decke) ... check
- IoT Adapter reagiert und setzt die Variable "Licht_Bad_Decke" auf true ... check
- damit wird auch der manuell erzeugte und mit der Varaiblen "Licht_Bad_Decke" verknüpfte Datenpunkt auf true gesetzt ... check
- Script reagiert auf die geänderte Variable "Licht_Bad_Decke" und prüft, ob true oder false .... check
- Da hier true, wird die im Modbus gesetzte Variable mit entsprechender Modbus Adresse ebenfalls auf true gesetzt und das Licht wird eingeschalten (so wie bisher)
- bei false geht das Licht nicht aus, obwohl die Schritte, die mit check gekennzeichnet sind, alle Ergebnisse liefern, wie erwartet.
Offensichtlich liegt der Fehler im Script, aber so langsam "sehe ich den Wald vor lauter Bäumen nicht mehr".
Was mache ich falsch?
Freue mich über jeden Denkanstoß.@hdandi sagte: Was mache ich falsch?
Lösche den Block "aktualisiere" und überprüfe den Modbus-Status per Trigger:

Wenn der DP "Licht Bad Deckenstrahler" toggled, dann ist die Rolle "switch" falsch und es darf nur mit wahr gesteuert werden. Die passende Rolle ist in dem Fall "button".

Man kann aber auch den Kommando-DP (Button) und den Status-DP in einem Alias zusammen bringen.
Schreib-Konvertierung:val ? true : trueDann braucht es keinen weiteren Datenpunkt für Alexa und auch kein Skript. Anleitung
-
Ich habe mich etwas zu früh gefreut. Leider wird durch das Script das Schalten über die Taster unmöglich gemacht. Durch das Tasten wird der Status auf der Modbus-Seite (WAGO) geändert und das triggert das Blockly und löst "Aktualisiere" aus. Ich habe also den zweiten Trigger rausgenommen und das Problem ist damit gelöst.
-
@hdandi sagte in Modbus Geräte mit Alexa steuern nach Skill Umstellung:
Hier das angepasste Blockly.
das ist falsch!
das aktualisiere wird nur bei Skriptstart augeführt, und das steuere muss ein aktualisiere sein -
Ich habe mich etwas zu früh gefreut. Leider wird durch das Script das Schalten über die Taster unmöglich gemacht. Durch das Tasten wird der Status auf der Modbus-Seite (WAGO) geändert und das triggert das Blockly und löst "Aktualisiere" aus. Ich habe also den zweiten Trigger rausgenommen und das Problem ist damit gelöst.
@hdandi sagte: Ich habe also den zweiten Trigger rausgenommen
Dann hat der Alexa-DP nicht mehr den aktuellen Lichtzustand.
@hdandi sagte in Modbus Geräte mit Alexa steuern nach Skill Umstellung:
Durch das Tasten wird der Status auf der Modbus-Seite (WAGO) geändert und das triggert das Blockly
Die Rückwirkung auf den Taster verhindert man so:

Übrigens gibt es beim Alias diese Rückwirkung nicht.
@Homoran sagte in Modbus Geräte mit Alexa steuern nach Skill Umstellung:
das steuere muss ein aktualisiere sein
Der Button ist ein Modbus-DP.




