Moinsen!
Ich habe das Problem, dass trotz korrekter Gruppierung und Kategorisierung in der Alexa App bei mir "nicht" Lampen mit geschaltet werden wenn ich z. B. sage "Schalte Licht im Arbeitszimmer aus".
Dummerweise sind es da dann sogar meine Monitore und das Ambilight.
Ich habe schon versucht herauszufinden woaren es liegt - bisher ohne jede Frucht.
Lampe im Arbeitszimmer die korrekt geschaltet wird:
Internals:
FUUID 5c64b7df-f33f-bf4c-06a9-af0d5e52670eab2a
FVERSION 10_MQTT_DEVICE.pm:0.173620/2018-09-17
IODev MQTT_Broker
NAME SonOff_Touch1_1
NR 88
STATE off
TYPE MQTT_DEVICE
qos *:2
retain *:1
READINGS:
2021-01-24 18:27:51 online ready
2021-01-24 19:59:29 state false
2021-01-24 19:59:29 transmission-state incoming publish received
message_ids:
publishSets:
:
topic homeland/haushalt/elektrik/sonoff/sonoff-touch1-1/switch/on/set
values:
true
false
reset
reboot
ota-restart
sets:
false
ota-restart
reboot
reset
true
subscribe:
homeland/haushalt/elektrik/sonoff/sonoff-touch1-1/$state
homeland/haushalt/elektrik/sonoff/sonoff-touch1-1/switch/on
subscribeExpr:
^homeland\/haushalt\/elektrik\/sonoff\/sonoff-touch1-1\/\$state$
^homeland\/haushalt\/elektrik\/sonoff\/sonoff-touch1-1\/switch\/on$
subscribeQos:
homeland/haushalt/elektrik/sonoff/sonoff-touch1-1/$state 0
homeland/haushalt/elektrik/sonoff/sonoff-touch1-1/switch/on 0
subscribeReadings:
homeland/haushalt/elektrik/sonoff/sonoff-touch1-1/$state:
cmd
name online
homeland/haushalt/elektrik/sonoff/sonoff-touch1-1/switch/on:
cmd
name state
Attributes:
IODev MQTT_Broker
alexaName Deckenlampe
alias Deckenlampe
devStateIcon 1
eventMap { dev=>{ 'true'=>'on', 'false'=>'off' }, usr=>{ '^on$'=>'true', '^off$'=>'false' }, fw=>{ '^on$'=>'on', '^off$'=>'off' } }
genericDeviceType light
group Licht
icon light_ceiling
publishSet true false reset reboot ota-restart homeland/haushalt/elektrik/sonoff/sonoff-touch1-1/switch/on/set
qos 2
retain 1
room Arbeitszimmer
stateFormat state
subscribeReading_online homeland/haushalt/elektrik/sonoff/sonoff-touch1-1/$state
subscribeReading_state homeland/haushalt/elektrik/sonoff/sonoff-touch1-1/switch/on
useSetExtensions 1
verbose 1
webCmd on:off
Und nun die Monitore die einfach auch geschaltet werden :-X
Internals:
FUUID 5c64b7df-f33f-bf4c-671a-fefb31cc2d997da6
FVERSION 10_MQTT_DEVICE.pm:0.173620/2018-09-17
IODev MQTT_Broker
NAME Sonoff_Basic_1
NR 86
STATE on
TYPE MQTT_DEVICE
qos *:2
retain *:1
READINGS:
2021-01-24 18:27:51 online ready
2021-01-24 19:53:57 state true
2021-01-24 19:53:57 transmission-state incoming publish received
message_ids:
publishSets:
:
topic homeland/haushalt/elektrik/sonoff/sonoff-basic-1/switch/on/set
values:
true
false
reset
reboot
ota-restart
sets:
false
ota-restart
reboot
reset
true
subscribe:
homeland/haushalt/elektrik/sonoff/sonoff-basic-1/$state
homeland/haushalt/elektrik/sonoff/sonoff-basic-1/switch/on
subscribeExpr:
^homeland\/haushalt\/elektrik\/sonoff\/sonoff-basic-1\/\$state$
^homeland\/haushalt\/elektrik\/sonoff\/sonoff-basic-1\/switch\/on$
subscribeQos:
homeland/haushalt/elektrik/sonoff/sonoff-basic-1/$state 0
homeland/haushalt/elektrik/sonoff/sonoff-basic-1/switch/on 0
subscribeReadings:
homeland/haushalt/elektrik/sonoff/sonoff-basic-1/$state:
cmd
name online
homeland/haushalt/elektrik/sonoff/sonoff-basic-1/switch/on:
cmd
name state
Attributes:
IODev MQTT_Broker
alexaName Monitore
alias Anubis_Perepherie
devStateIcon on:10px-kreis-gruen off:10px-kreis-rot .*:hourglass
eventMap { dev=>{ 'true'=>'on', 'false'=>'off' }, usr=>{ '^on$'=>'true', '^off$'=>'false' }, fw=>{ '^on$'=>'on', '^off$'=>'off' } }
genericDeviceType switch
group Computer
icon it_television
publishSet true false reset reboot ota-restart homeland/haushalt/elektrik/sonoff/sonoff-basic-1/switch/on/set
qos 2
retain 1
room Arbeitszimmer
stateFormat state
subscribeReading_online homeland/haushalt/elektrik/sonoff/sonoff-basic-1/$state
subscribeReading_state homeland/haushalt/elektrik/sonoff/sonoff-basic-1/switch/on
userattr gerate gerate_map structexclude
verbose 1
webCmd on:off
Ich kann mir bisher keinerlei Reim darauf machen warum das so ist.
Wäre um jede Hilfe dankbar und bin gespannt, ob man herausfindet was es ist.
Hallo.
Damit habe ich mich auch sehr lange rumgeärgert und mir folgenden Reim drauf gemacht.
Angenommen man hat 2 Räume, Wohnzimmer und Küche eingerichtet. Im Wohnzimmer ist eine Lampe, die auch als Licht in der App eingerichtet ist und eine Funksteckdose für den Weihnachtsbaum, der nur als Steckdose eingerichtet ist.
In der Küche ist es ähnlich, eine Lampe als Licht eingerichtet und eine Steckdose für die Kaffeemaschine.
In jedem Raum (also auch in der App hinterlegt) ist auch ein Alexa Gerät (EchoDot etc.)
Sagt man jetzt im Wohnzimmer "Alexa, Licht ein/ausschalten", dann hört Alexa dass dieser Befehl über den EchoDot im Wohnzimmer gesprochen wurde und schaltet alle "Licht" Geräte im raum Wohnzimmer ein/aus.
Gleiches passiert wenn man das in der Küche sagt, eben nur dass dann das Licht in der Küche an/aus geht.
Sagt man jetzt aber im Wohnzimmer "Alexa, Licht in der Küche ein/ausschalten", dann ignoriert Alexa das Gerät "Licht" und schaltet stattdessen die Gruppe(Raum) Küche komplett, also alles was in dieser Gruppe liegt.
Ich habe das Problem jetzt folgendermaßen gelöst.
Ich habe zusätzlich zur Gruppe "Küche" noch eine Gruppe "Licht in der Küche" angelegt, und in diese Gruppe nur die Geräte gelegt, die wirklich als Licht geschaltet werden sollen.
Damit erreiche ich folgende Aktionen:
In der Küche sagen "Alexa, Licht ein schalten" = Licht in der Küche geht an
In der Küche oder im Wohnzimmer sagen "Alexa, Kaffemaschine einschalten" = Kaffeemaschine geht an
In der Küche oder im Wohnzimmer sagen "Alexa, Küche einschalten" = Licht in der Küche und Kaffeemaschine geht an.
in der Küche oder im Wohnzimmer sagen "Alexa, Licht in der Küche einschalten" = Licht in der Küche geht an.
Hoffe ich habe es einigermaßen verständlich beschrieben. So funktioniert jedenfalls das "Licht in ... einschalten/ausschalten" bei mir, ohne dass andere Geräte mit geschaltet werden.
Mh ich habe aber auch Geräte im Wohnzimmer die von dieser "Schaltwillkür" nicht betroffen sind.
Die bleiben abgeschaltet wenn ich in einem anderen Zimmer sage "Licht im Wohnzimmer ein".
Generell keines meiner Geräte heißt "Licht oder Lampen" - das ist ja die Alexa Kategorie die man da eigentlich mit treffen soll.
Sage ich "Echo, Licht im Arbeitszimmer einschalten" - so geht meine Deckenlampen an und meine Monitore.
Sage ich "Echo, Licht im Arbeitszimmer abschalten" - so geht meine Deckenlampen aus und meine Monitore.
Egal an welchem Echo Dot ich das Kommando gebe.
Fakt ist aber -> Monitore sind keine Lampe. O_o
ZitatFakt ist aber -> Monitore sind keine Lampe. O_o
Das ist richtig. Sie werden auch nicht über die Eigenschaft "Licht" geschaltet, sondern weil sie sich gemeinsam mit den anderen Geräten, also wirklichen Lampen im Raum/Gruppe Wohnzimmer befinden. Hier schaltet Alexa eben den raum Wohnzimmer ein und aus, mit allem was sich darin befindet und an oder ausgeschaltet werden kann.
Aber das bei einem "Schalte Licht in Raum XY an/aus" Befehl?
Und es passt ja nicht beim Wohnzimmer - wo einige Geräte gewünscht und einige ungewünscht eingeschaltet werden aber auch einige aus wie sie es sollen wenn es um Licht geht O_o
Sehr seltsam.
Alexa "überspringt" dabei das "Licht" und versteht sozusagen nur "schalte Raum XY an/aus"
Wie gesagt, hab auch lange gebraucht um das zu kapieren und man muss sich dabei wirklich eine saubere Struktur aufbauen in der Alexa App.
Also zuerst alle Geräte anlegen.
Dann die einzelnen Räume/Gruppen.
In diese werden dann die Echos, welche sich auch in den physischen Räumen befinden rein gelegt.
Dann legt man in jeden Raum die Geräte, welche mit dem Raumnamen geschaltet werden sollen ("Alexa schalte Wohnzimmer aus" alles im WZ geht aus)
Dann die Lampen welche über "Aloexa Licht an" geschaltet werden sollen über die Geräteeinstellungen auf den Typ Lampe konfigurieren.
Dann einen weiteren Raum/Gruppe anlegen mit dem Namen "Licht im RaumXY". Dort alle Lampen rein, die über den befehl "Alexa Licht im RaumXY ein/ausschalten" von einem anderen Raum geschaltet werden sollen.
Und das wiederholt man für alle Räume, die so behandelt werden sollen.
Um es noch mal am Beispiel Wohnzimmer zu verdeutlichen. Dort gibt es im "echten physischen" Wohnzimmer den EchoDot, eine Deckenlampe, eine Wandlampe, eine Steckdose für den Monitor und eine Steckdose für die Schreibtischlampe.
Die Geräte haben folgende Namen und sind als folgender Typ angelegt:
Echo_WZ = AlexaGerät
Deckenlampe = Lampe
Wandlampe = Lampe
Monitor = Steckdose
Schreibtisch = Steckdose
Jetzt wird in der AlexaApp ein Raum "Wohnzimmer" angelegt.
In diesen Raum packst Du alle oben erwähnten Geräte rein.
Dann kann man folgendes veranstalten:
Wenn man sich im Wohnzimmer befindet und zum Echo im Wohnzimmer sagt "Alexa, Licht an/aus" dann geht die Deckenlampe und die Wandlampe an/aus
Wenn man sich im Wohnzimmer oder einem anderen raum befindet, in welchem ein anderer EchoDot ist, und sagt "Alexa Wohnzimmer ein/ausschalten" oder auch bei "Alexa, Licht im Wohnzimmer ein/ausschalten" dann wird Alexa nur Bezug auf den Raum Wohnzimmer nehmen und alles was sich im Wohnzimmer befindet schalten, also auch die Steckdosen, weil es offensichtlich hier noch keine Zuordnung von "Typ(Licht) im Raum" gibt.
Deshalb legst Du jetzt noch einen weiteren "Raum/Gruppe an "Licht im Wohnzimmer"
Hier kommen jetzt nur die beiden Lampen nochmals rein gelegt. Das bedeutet, die lampen liegen jetzt sowohl im Raum "Wohnzimmer" als auch im Raum "Licht im Wohnzimmer"
Jetzt ist es Alexa möglich über den Befehl "Alexa, schalte Licht im Wohnzimmer aus/ein" auch nur die lampen zu schalten, wenn man zu einem anderen EchoDot spricht, weil Alexa bei diesem Befehl eigentlich auch wieder nur den Raum "Licht im Wohnzimmer" schaltet.
man sollte sich am besten angewöhnen die Raumstrucktur in der AlexaApp nicht als "Räume" im eigentlichen Sinn zu verstehen, sondern eher als Schaltgruppen, wobei alle in dieser Gruppe befindlichen geräte über den Gruppennamen (z.b. "Wohnzimmer" oder "Licht im Wohnzimmer" geschaltet werden. Dabei kann Alexa zusätzlich noch gewisse Gerätetypen wie zum Beispiel "Lampe" erkennen, wenn der Schaltbefehl über den EchoDot kommt, welcher in der entsprechenden Schaltgruppe liegt in welchem auch das Gerät vom Typ "Lampe" liegt.
Abgefahren!
Danke für die Erklärung - teste ich morgen mal (nach dem Schlafen). ;)
Okay hab nun die Gruppe "Licht im Arbeitszimmer" - sitze ich im Arbeitszimmer und sage "Echo, schalte Licht im Arbeitszimmer aus" so geht dennoch weiterhin alles aus O_o
In der Gruppe ist aber nur die Deckenlampe.
In der "Arbeitszimmer" Gruppe ist alles wie gehabt.
ich habe das Problem so gelöst dass ich allen Lichtern eindeutige Namen gegeben habe und somit entfällt die Angabe des Raumes. Ich habe im Augenblick 75 Devices die alle eindeutig mit dem ( zusammen gesetzten ) Namen schalten. Manchmal muss man Namen etwas abändern wenn Alexa die nicht korrekt versteht oder ähnlich wie ein anderer klingt.
Küchenlicht, Wohnzimmerlicht, Arbeitszimmerlicht etc. Dann schaltet Alexa es immer richtig. "Alexa, schalte das Wohnzimmerlicht ein". (ohne Angabe des Raumes). Der Alexaroom ist bei allen Devices bei mir einheitlich "alexaroom". Die Angabe des Raumes hat mich immer gestört. Das klappt auch bei Temperaturen etc, "Alexa, wie ist die Wohnzimmertemperatur", oder "Alexa stell die Wohnzimmertemeratur auf 22 Grad".
LG
Reinhart
Sehr eigenartig. :o
Wie gesagt, ich habs bei mir nur durch versuchen raus bekommen und es funktioniert auch zuverlässig.
Du hast also zwei Gruppen. "Arbeitszimmer" und "Licht im Arbeitszimmer"
In der ersten Gruppe hast Du alles drinn, also deine Lampen und Monitor etc.
In der zweiten nur die Lampe.
Ich hab mir gerade mal oben Deine Geräte genau angesehen, hatte bisher nur überflogen. Sind ja beides Sonoff. Aber einen hast du als genericDeviceType light und einen als switch konfiguriert. Werden die denn auch korrekt von Alexa so erkannt? Also in der App bei jeweiligen Gerät in den Einstellungen müsste einmal als Typ "Lampe" und einmal als Typ "Steckdose" zu sehen sein?
Ich habe auch mehrere Sonoff Basic und auch Touch. Meine sind aber in der Grundkonfiguration erst mal alle in FHEM als switch angelegt. Die Änderung auf "Lampe" mache ich in der AlexaApp
Nabend,
also Monitore/Anubis sind beides als Schalter in der App er kannt und Deckenlampe als Lampe.
daran sollte es also nicht liegen. Nur Deckenlampe ist auch als Lampe in der Alexa App.
OK, dann ist eigentlich alles so wie es sein sollte.
Halt mich jetzt nicht für blöd, wenn ich noch mal frage, nur um nicht aneinander vorbei zu reden.
In der Gruppe "Arbeitszimmer" ist der Echo hinterlegt und alle anderen Geräte, also die Lampen und die Steckdosen? Du sprichst von Schalter? Ist das wirklich als Schalter bezeichnet oder doch als Steckdose? Hab Dir mal zwei Screenshots ran gehängt wie es bei mir aussieht.
Und in der Gruppe "Licht im Arbeitszimmer" sind nur die Geräte drin, die als "Lampe" im Typ ausgewählt sind?
Dann stehst Du im Arbeitszimmer und sagst "Echo, Licht einschalten" jetzt dürften ausschließlich die Lampen an gehen.
Wenn Du im Arbeitszimmer oder einem anderen Raum stehst und sagst "Echo, Arbeitszimmer einschalten", sollte alles an gehen.
Wenn Du in einem anderen Raum stehst und dort sagst "Echo, Licht im Arbeitszimmer einschalten" sollten wieder nur die Lampen an gehen.
So funktioniert es bei mir exakt. Also lass uns rausfinden was bei Dir anders ist.
Bis auf, dass mein Originaltyp halt Schalter und Lampe sind joa.
Echo ist in der Gruppe Arbeitszimmer mit allem was auch so in Arbeitszimmer ist und in Licht im Arbeitszimmer nur die Deckenlampe.
Er schaltet aber bei "Schalte Licht im Arbeitszimmer" auch Geräte die gar nicht in der Alexa Gruppe sind. Als würde er die Räume halt aus FHEM nehmen und dann selber entscheiden.
Ok, ich habe noch einen Unterschied gefunden, weiß nicht ob es damit zu tun hat. Ich schalte meine Sonoff Geräte nicht über die von FHEM gelieferten Geräte, sondern direkt über die Emulation in den Sonoffs. Die sind alle als Belkin WeMo emuliert.
Dadurch habe ich jedes Sonoff doppelt. Von Fhem werden sie auch als Schalter definiert, von der Emulation in Sonoff selbst als Steckdose.
In der AlexaApp benutze ich in den Gruppen nur die Emulationen, die ich dann entsprechend als "Lampe" definiert habe, z.b. bei den Touch und bei allen anderen zu schaltenden Geräten die nicht auf "Licht an/aus" reagieren sollen, habe ich Steckdose gelassen.
Vielleicht ist das ein Ansatzpunkt?
"Emulation"?
Also ich hab auf meinen SonOffs Homie drauf als Framwork und den Rest selber geschrieben.
Ich scheine aber generell Probleme zu haben -> Mein Rolladen geht nun auch nicht mehr..
Hatte noch ein altes Setup -> Mit einem Raum ECHO in dem ich alle Geräte die von Alexa steuerbar sein sollten rein gepackt hatte..
Hab das aufgeräumt und auch das "alexaroom" weg gemacht (laut Anleitung wird es ja nicht mehr genutzt bis auf einige Ausnahmen).
Nun ja ich kann nun nicht mal mehr meinen Rolladen hoch runter machen mit Alexa O_o
Manuell durch den Regler in der App geht es -> Aber per Sprache nöpe nicht mehr.
Dabei lief das super.
"Rolladen Arrbeitszimmer unterstütz das nicht" kommt da nu...
Vielleicht gehen wir ja beide von unterschiedlichen Voraussetzungen aus.
Bei mir läuft die Anbindung von Fhem über Alexa Connector.
Die Geräte welche für Alexa erreichbar sein sollen (sonoffs, Homematic, HomematicIP, TP-Link, Intertechno und verschiedenes anderes) werden für Alexa nur die Attribute alexaName und genericDeviceType gesetzt.
Bei AlexaName habe ich Bezeichnungen gewählt, welche von Alexa nicht direkt als realer Name interpretiert werden kann.
Also für die Schlafzimmer Lampe den Namen "SZ_Sonoff" Kinderzimmer Lampe heißt "KZ_Sonoff" und so weiter
Innerhalb von Fhem habe ich auch eine Raumstruktur, welche aber keinen Einfluss auf Alexa hat.
Meine Sonoffs haben alle Tasmota als Firmware drauf und sind von Fhem per MQTT erreichbar.
In der Tasmota Firmware lassen sich für die Geräte Emulationen einschalten, wodurch sie auch ohne den Umweg über Fhem von Alexa erkannt werden können. Im Moment gibt es die Emulation als Hue Bridge oder als Belkin WeMo. Wie gesagt, meine laufen mit Belkin Wemo Emulation und sind so von Alexa erreichbar, selbst wenn Fhem mal nicht laufen sollte. Die Emulation liefert an Alexa den GeräteTyp "Steckdose"
Bei den Geräten, welche nicht als "Lampe" mit dem befehl "Alexa Licht an" geschaltet werden sollen, habe ich den Typ auf Steckdose gelassen.
Alles was als Lampe laufen soll wurde in der Alexa App über die Typauswahl auf Lampe gesetzt.
Die Namen um Geräte direkt an zu sprechen "Schreibtischlampe" habe ich auch erst in der AlexaApp vergeben.
Geräte welche nicht direkt über ihren Namen geschaltet werden sollen, sondern innerhalb von Gruppen organisiert werden, haben den von Fhem gelieferten Namen behalten.
Vielleicht solltest Du Deine Struktur noch mal ganz neu anlegen.
Moin Andi.
Danke erstmal, dass du dir so ausführlich Zeit nimmst! :-)
Also mein Rolladen im Wohnzimmer funktioniert weiterhin - es schein, als wäre es das einmal aus der App raus werfen und neu anlernen... muss mal vergleichen, was da los ist.
Ich habe einen Großteil meiner Devices selber gebaut und programmiert. SonOff -> Homie mit eigenem Sketch | Rolladen -> ESP8266 mit Lichtschranke und Scheibenwischermotor :-D (Es waren Kurbelrolladen ohne Gurt).
Ich habe Alexa FHEM in dem FHEM Docker Container (der hier aus dem Forum stammt) und die Config da ist "Alexa Name = Lege es in Alexa an" Räume werden aber meines Empfindens nach aus FHEM übernommen.
Eine Emulation wie du sie hast - existiert hier nicht.
Es scheint, als ich festgestellt habe, dass weder AlexaRoom noch der Raum "Echo" noch nötig sind bei meiner version vom Alexa Connector und ich dieses entfernt habe wäre einiges zu Bruch gegangen :-D
Mal schauen wie ich es gerade ziehe - lese nun erstmal die Seite https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#Was_geht_alles_.3F
*Edit -> Ok Alex FHEM mal geupdatet (das war irgendwie im docker dennoch nicht/nicht aktuell [hätte erwartet es wäre da immer aktuell])
Echo, Rolläden Arbeitszimmer hoch = Funktioniert öffnet komplett.
Echo, Rolladen Arbeitszimmer auf 50 % (das ist der Gerätename) -> Rolladen Arbeitszimmer untestützt das nicht O_o
Und der im Wohnzimmer geht einfach... seeehr seltsam.
Ok! nun wird es maximal lustig! :-D
Anderer Echo im Wohnzimmer kann den Rolladen im Arbeitszimmer wie gewohnt schalten.... der im Arbeitszimmer sagt, Rolladen Arbeitszimmer unterstützt das nicht.
Holy?! :-D
Und die Moral von der Geschicht -> Profile helfen beim testen.... NICHT
Das Gerät war die Gesamte Zeit im Profil meiner Frau...
Keine - KEINE meiner Änderungen wurde tragend....
Nun geht alles :-D Hab vielen Dank!
- Gruppe Licht im Arbeitszimmer funzt Prima.
- Schalte Licht aus - schaltet (wenn im Arbeitszimmer) nun auch nicht mehr die falschen Dinge aus, sondern nur die Deckenlampe (keine switches oder outlets)
Hab herzlichen Dank!
Na manchmal sieht man den Wald vor Bäumen nicht. Aber ist schon lustig, da bekommt man graue Haare und dann sind so banale Dinge die Ursache das etwas nicht funktioniert.
Na wenigstens gehts jetzt, freut mich, wenn ich Dir ein bisschen helfen konnte, wobei ich nicht weiß, ob meine Ausführungen hilfreich waren.
Gruß
Andreas
Definitiv ;-) Die Sache mit der Gruppe "Licht in Raum XYZ" :-) war gold wert!! ;-)