(Gelöst) Alexa-Connector: Findet Gerät nicht

Begonnen von is2late, 31 März 2020, 16:04:06

Vorheriges Thema - Nächstes Thema

is2late

Soweit bin ich:

SSH/ProxiVerbindung steht. Ein Testrollo aus FHEM ist in den Connector übernommen und lässt sich im Alexa-Raum ansprechen. Alias-Name (=Rollo Holzhausseite) vergeben. Die Sprachsteuerung allerdings funktioniert nicht - auf das Kommando "Alexa, schließe Rollo Holzhausseite" heisst es, dass das Gerät nicht gefunden wird.
Was mache ich wohl falsch?

Beim Test der Filtereinstellung wird das Device gefunden.
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

MadMax-FHEM

#1
Gerätesuche in Alexa-App oder per Sprache hast du durchgeführt!?

Poste doch mal ein list des Devices und den Inhalt der config.json/alexa-fhem.cfg

EDIT: welchen alexaName hast du vergeben!? Weil Attribut alias ist nicht Attribut alexaName (bitte genaue Bezeichnungen verwenden, sonst wird Hilfe schwer) / wenn alias aber NICHT alexaName vergeben ist (wird es vermutlich gar nicht von alexa-fhem gefunden aber wenn doch [anderer "Filter"]), dann hört Alexa auf diesen. Ist ein alexaName vergeben (dann wird es mit dem Standard-Filter auch gefunden), dann hört es auf diesen.

EDIT2: woher weißt du, dass es von alexa-fhem "übernommen" wurde? alexa-fhem Log (NICHT fhem Log) geprüft!? Dann evtl. auch mal den entsprechenden Ausschnitt hier posten...

EDIT3: noch mal (ungenaue Benennung ;)  ) was heißt es lässt sich im "Alexa-Raum" ansprechen!? Attribut room=Alexa!? Dieser "Filter" in der config.json (früher, heute alexa-fhem.cfg) war "früher" mal "Standard". Mittlerweile ist es "alexaName vergeben". Was kommt denn bei list alexaName=..* in der FhemWeb-cmd!?

EDIT4: öffne/schließe (glaube ich) geht (so) noch nicht. Die Antwort wäre aber dann anders: das Gerät unterstützt das nicht (o.ä. ;)  )

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

is2late

#2
Hallo Joachim,
vielen Dank für Dein Einschalten.
Also:
Device Internals:
DeviceOverview
Rollo Holzhausseite
dim20
tahoma_161732
tahoma_161732
Internals
COMMANDS
dim:slider,0,1,100 cancel:noArg close:noArg delayedStopIdentify down:noArg getName:noArg identify:noArg my:noArg open:noArg refreshMemorized1Position:noArg setClosureAndOrientation setClosure setMemorized1Position setName setPosition setSecuredPosition setOrientation startIdentify:noArg stop:noArg stopIdentify:noArg up:noArg wink
DEF
DEVICE io://1203-1168-3381/161732
FUUID
5e80e01b-f33f-ff0f-121a-c92fb83d0ac4081b
IODev
tahoma1
NAME
tahoma_161732
NR
91
NTFY_ORDER
50-tahoma_161732
STATE
dim20
SUBTYPE
DEVICE
TYPE
tahoma
device
io://1203-1168-3381/161732
fid
161732
inClass
ExteriorVenetianBlind
inControllable
io:ExteriorVenetianBlindIOComponent
inExecId
finished
inExecState
COMPLETED
inLabel
Bad Holzhausseite
inPlaceOID
26976bdc-576b-46e3-9538-4f9fd25375ae
inType
1


2. Alias ist "Rollo Holzhausseite". Das sollte auch alexaName sein.

3. alexa-fhem-Log: Der/die ist ganz schön lang... finde keinen Hinweis auf alexaName. Das Device steht aber jetzt im room "Felsenkeller", wo ich die alexa-Devices unterbringe. Ermutigend erscheint mir:
[31.3.2020, 15:47:37] *** SSH: proxy connection established
[31.3.2020, 15:47:37] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated. 


4. In dem room "Felsenkeller" lässt sich das Device aufrufen und funktioniert (öffnen/schließen)
Internals:
   COMMANDS   dim:slider,0,1,100 cancel:noArg close:noArg delayedStopIdentify down:noArg getName:noArg identify:noArg my:noArg open:noArg refreshMemorized1Position:noArg setClosureAndOrientation setClosure setMemorized1Position setName setPosition setSecuredPosition setOrientation startIdentify:noArg stop:noArg stopIdentify:noArg up:noArg wink
   DEF        DEVICE io://1203-1168-3381/161672
   FUUID      5e80e01b-f33f-ff0f-6a96-384d30e189667e2c
   IODev      tahoma1
   NAME       tahoma_161672
   NR         90
   NTFY_ORDER 50-tahoma_161672
   STATE      dim100
   SUBTYPE    DEVICE
   TYPE       tahoma
   device     io://1203-1168-3381/161672
   fid        161672
   inClass    ExteriorVenetianBlind
   inControllable io:ExteriorVenetianBlindIOComponent
   inLabel    Bad Strassenseite
   inPlaceOID 26976bdc-576b-46e3-9538-4f9fd25375ae
   inType     1
   READINGS:
     2020-03-31 17:54:45   ClosureState    100
     2020-03-31 17:54:45   Memorized1PositionState 100
     2020-03-31 17:54:45   NameState       Bad Strassenseit
     2020-03-31 17:54:45   OpenClosedState closed
     2020-03-31 17:54:45   PriorityLockTimerState 0
     2020-03-31 18:33:22   RSSILevelState  48.0
     2020-03-31 17:54:45   SecuredPositionState 0
     2020-03-31 17:54:45   SlateOrientationState 0
     2020-03-31 17:54:45   StatusState     available
     2020-03-31 17:54:45   devicestate     closed
     2020-03-31 17:54:45   state           dim100
Attributes:
   IODev      tahoma1
   alexaName  Rollo Holzhausseite
   alias      ExteriorVenetianBlind Bad Strassenseite
   room       tahoma


Du hattest übrigens Recht: Alias war wohl vergeben, nicht jedoch alexaName. Habs nachgeholt, Device reagiert aber trotzdem nicht über Alexa.

LG Ingo


Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

MadMax-FHEM

#3
Da fehlt doch was im list!?

Copy/Paste-Problem?

Wo sind denn da die Attribute!?

EDIT: hast du das Attribut alexaName gesetzt!?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

is2late

Ja, stimmt... Hier die Readings und Attributes:
Readings
ClosureState
20
2020-03-31 17:54:45
Memorized1PositionState
100
2020-03-31 17:54:45
NameState
Bad Holzhausseit
2020-03-31 17:54:45
OpenClosedState
open
2020-03-31 17:54:45
PriorityLockTimerState
0
2020-03-31 17:54:45
RSSILevelState
30.0
2020-03-31 18:41:24
SecuredPositionState
0
2020-03-31 17:54:45
SlateOrientationState
100
2020-03-31 17:54:45
StatusState
available
2020-03-31 17:54:45
devicestate
open
2020-03-31 17:54:45
state
dim20
2020-03-31 17:54:45
tahoma_161732
Felsenkeller
Attributes
IODev
tahoma1
deleteattr
alias
Rollo Holzhausseite
deleteattr
room
Felsenkeller
deleteattr
Probably associated with
n_Schalter1
active
notify
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

MadMax-FHEM

Hast du nach dem Vergeben von alexaName auch ein reload beim Alexa-Device gemacht!?

Und nat. Alexa auch suchen lassen (danach)!?

Wiki hast du aber komplett gelesen!!?

https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

#6
Hier mal grob (für die Zukunft / sollte aber so im Wiki stehen):

In der alexa-fhem.cfg (früher config.json) gibt es einen Eintrag "Filter".
Dieser "sagt" alexa-fhem nach welchen Geräten es in dem bei connection angegebenen fhem suchen soll.

Im Standard (also einfach installieren und gut) schaut alexa-fhem im lokalen fhem nach Geräten, die eben den alexaName gesetzt haben.
Wenn dir das nicht gefällt und du lieber mit alias arbeiten willst, dann einfach den Filter anpassen wie du willst (früher war der Filter mal: alle Geräte die sich im Raum alexa befinden: room=alexa).

EDIT: es gilt folgendes (unabhängig vom "Filter", der muss nat. "erfüllt" sein, sonst wird das Device ja gar nicht von alexa-fhem "beachtet"): gibt es kein Attribut alexaName, so gilt der Name bei alias, ist auch dieser nicht vergeben, dann muss der "normale" Device-Name (NAME) herhalten...

Prüfen kannst du das eben mit:

list alexaName=..*

gleichbedeutend mit: ist ein alexaName vergeben...

Der alexaName ist dann auch der Name wie das Gerät angesprochen werden soll...

EDIT: "Ausnahme" siehe etwas weiter oben ;)

Hier evtl. mal ein wenig nachlesen, was "vernünftig" ist und was evtl. weniger gut ist...
...oder einfach probieren...

Räume bzgl. Alexa (also Sprachsteuerung) gehen entweder im Custom Skill (musst du extra einrichten) mit dem Attribut alexaRoom oder eben im Smart Home Skill (Standard alexa fhem Connector) über Gruppen in der Alexa-App...

EDIT: daher ist bei Smart Home Skill das Attribut alexaRoom (total) irrelevant...

Bei jeder Änderung am Device (die für Alexa relevant ist) musst du ein reload des Alexa-Device machen (und evtl. Alexa noch mal suchen lassen / evtl. sogar besser vorher das Gerät in Alexa zu löschen)

Dann "schaut" sich alexa-fhem an was es "gefunden" hat und ob es versteht WAS es ist.
Das wird dann so an Amazon weitergegeben...

Wenn es nicht passt kann man mit genericDeviceType und/oder homebridgeMapping nachhelfen...
...unterstützen...

Aber: was Alexa/Amazon nicht "versteht" (nicht unterstützt) das geht NICHT! Auch nicht mit homebridgeMapping...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

is2late

Ja, ich bin genau gemäß Wiki vorgegangen:

set <alexa> restart
Danach
list alexaName=..*
Es erscheint das Device.

Wiki bin ich vollständig durchgegangen, auch die Anmerkungen.
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

MadMax-FHEM

#8
Dann hättest du das bzgl. alexaName ja wissen müssen... ;)

EDIT: weil ab hier steht es ganz genau https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#Ger.C3.A4te_im_FHEM-Webfrontend_zuweisen (inkl. dem was ich hier im Thread auch noch mal geschrieben habe)

Und, taucht es in der Alexa-App auf!?

Hast du Alexa auch "suchen lassen"!?

Poste doch noch mal ein aktuelles und vollständiges list... :)

EDIT: ein genericDeviceType sehe ich auch nicht... Und vermutlich/eventuell brauchst du noch ein homebridgeMapping...

EDIT2: welche Befehle musst du denn in fhem für auf/zu absetzen!?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

is2late

O Mann.. ich dachte, mit dem "list alexaName" und dem Auftauchen im "Felsenkeller"-room sei das Suchen erledigt.
Das Suchen hatte ich gem Wiki nur als Voraussetzung für das proaktive Reporting verstanden.

Ja, das Gerät (und übrigens auch alle anderen Rollos, die noch gar keinen Alexa-Namen haben) finden sich in der App als "neue Geräte". Die Suche nach neuen Geräten (Alexa, suche...) war dementsprechend erfolglos.

Eben habe ich mal den Alias-Namen im Zusammenhang mit dem Kommando "öffne...." benutzt. Es gab es ein zustimmendes Geräusch (und keine Fehlermeldung), aber gerührt hat sich nichts.

Welches List soll ich posten? Das Ergebnis von list alexaName..* ?
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

is2late

Also in FHEM heisst das Kommando zB 
set tahoma_161215 setClosure
Daraufhin ergibt sich im Log:
[code2020.03.31 19:23:03 3: tahoma_161215: tahoma_applyRequest data={"label":"SZ P Holzhaussei - Positionieren auf 50 % - iphone","actions":[{"deviceURL":"io://1203-1168-3381/161215","commands":[{"name":"setClosure","parameters":[50]}]}]}
2020.03.31 19:23:08 3: tahoma1: request active][/code]
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

is2late

Rollo Holzhausseite
dim100
tahoma_161732
tahoma_161732
Internals
COMMANDS
dim:slider,0,1,100 cancel:noArg close:noArg delayedStopIdentify down:noArg getName:noArg identify:noArg my:noArg open:noArg refreshMemorized1Position:noArg setClosureAndOrientation setClosure setMemorized1Position setName setPosition setSecuredPosition setOrientation startIdentify:noArg stop:noArg stopIdentify:noArg up:noArg wink
DEF
DEVICE io://1203-1168-3381/161732
FUUID
5e80e01b-f33f-ff0f-121a-c92fb83d0ac4081b
IODev
tahoma1
NAME
tahoma_161732
NR
91
NTFY_ORDER
50-tahoma_161732
STATE
dim100
SUBTYPE
DEVICE
TYPE
tahoma
device
io://1203-1168-3381/161732
fid
161732
inClass
ExteriorVenetianBlind
inControllable
io:ExteriorVenetianBlindIOComponent
inExecId
finished
inExecState
COMPLETED
inLabel
Bad Holzhausseite
inPlaceOID
26976bdc-576b-46e3-9538-4f9fd25375ae
inType
1
Readings
ClosureState
100
2020-03-31 19:26:26
Memorized1PositionState
100
2020-03-31 17:54:45
NameState
Bad Holzhausseit
2020-03-31 17:54:45
OpenClosedState
closed
2020-03-31 19:26:26
PriorityLockTimerState
0
2020-03-31 17:54:45
RSSILevelState
22.0
2020-03-31 19:27:38
SecuredPositionState
0
2020-03-31 17:54:45
SlateOrientationState
100
2020-03-31 17:54:45
StatusState
available
2020-03-31 17:54:45
devicestate
closed
2020-03-31 19:26:26
state
dim100
2020-03-31 19:26:26
tahoma_161732
Felsenkeller
Attributes
IODev
tahoma1
deleteattr
alexaProactiveEvents
1
deleteattr
alias
Rollo Holzhausseite
deleteattr
room
Felsenkeller
deleteattr
Probably associated with
n_Schalter1
active
notify
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

MadMax-FHEM

#12
Also irgendwie schauen deine hier geposteten list alle naja "komisch" aus...
...echt schwer zu lesen.

Wie machst du das?
Welchen Browser?

Du gibst ein:

list tahoma_161732

und das was dann kommt per copy/paste hier rein!?

Ich sehe bei diesem Gerät irgendwie (schon wieder) kein alexaName...

Das mit proaktiv usw. hast du gelesen!?

Das ist (soweit ich das weiß) nur für "Sensoren", also z.B. Fensterkontakt etc. damit dadurch Alexa/Amazon "Events" bekommt und entsprechend durch Dinge die in der Alexa-App konfiguriert werden (Routine) reagieren kann...

Ich habe ieber nur eine Stelle mit Logik (nämlich fhem), sonst wird das schnell unübersichtlich...
...aber jeder wie er mag.

Also: lesen, verstehen und dann (vielleicht) machen... ;)

Es fehlt genericDeviceType (denke ich) und dann sehr wahrscheinlich ein passendes homebridgeMapping was eben alexa-fhem "erklärt" was denn zu tun ist (in fhem), wenn ein bestimmter Befehl von Alexa/Amazon kommt...

Zu sehen eben im alexa-fhem Log (NICHT fhem Log)...

Dort sieht man auch, als "was" (und ob) ein bestimmtes fhem-Device "gefunden/erkannt" wird...

EDIT: wie hast du das Device denn in fhem angelegt/anlegen lassen!? Gibt es nicht für Tahoma (ist doch eins!?) auch attr-Templates!? Da ist soweit ich weiß doch auch schon bzgl. Sprachsteuerung was drin!? Oder zumindest "in Arbeit"... Also vielleicht da mal suchen. Habe (leider) keine solchen Geräte...

EDIT2: ansonsten kann ich auch empfehlen erst mal mit einem Dummy anfangen. Wenn der dann per Sprache geht einfach ein Device nach dem anderen mit dazu nehmen... Hier mal ein Beispiel (eines "Minimal-Dummy") als rawDefinition:

defmod dmControl_TV dummy
attr dmControl_TV alexaName fernseher
attr dmControl_TV genericDeviceType switch
attr dmControl_TV setList on off


EDIT3: und wirklich noch mal ab hier (mindestens) lesen https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#Ger.C3.A4te_im_FHEM-Webfrontend_zuweisen damit die Zusammenhänge (hoffentlich) klar werden...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

TomLee

Die Readings aus #2 passen zu dem List aus diesem Beitrag

Mit Sicherheit fehlt dann noch das dort ganz unten gezeigte homebridgeMapping.

Gruß

Thomas

is2late

Joachim: Du machts Dir wirklich viel Mühe, herzlichen Dank! Ehrenwort, ich lese Wiki hoch und runter, aber das ist viel Stoff, um es als jemand, der total unbeleckt ist, im Bewusstsein "in Schwebe" zu halten.
Hier das Listing:
Internals:
   COMMANDS   dim:slider,0,1,100 cancel:noArg close:noArg delayedStopIdentify down:noArg getName:noArg identify:noArg my:noArg open:noArg refreshMemorized1Position:noArg setClosureAndOrientation setClosure setMemorized1Position setName setPosition setSecuredPosition setOrientation startIdentify:noArg stop:noArg stopIdentify:noArg up:noArg wink
   DEF        DEVICE io://1203-1168-3381/161732
   FUUID      5e80e01b-f33f-ff0f-121a-c92fb83d0ac4081b
   IODev      tahoma1
   NAME       tahoma_161732
   NR         91
   NTFY_ORDER 50-tahoma_161732
   STATE      dim100
   SUBTYPE    DEVICE
   TYPE       tahoma
   device     io://1203-1168-3381/161732
   fid        161732
   inClass    ExteriorVenetianBlind
   inControllable io:ExteriorVenetianBlindIOComponent
   inExecId   finished
   inExecState COMPLETED
   inLabel    Bad Holzhausseite
   inPlaceOID 26976bdc-576b-46e3-9538-4f9fd25375ae
   inType     1
   READINGS:
     2020-03-31 20:07:52   ClosureState    100
     2020-03-31 20:07:52   Memorized1PositionState 100
     2020-03-31 20:07:52   NameState       Bad Holzhausseit
     2020-03-31 20:07:52   OpenClosedState closed
     2020-03-31 20:07:52   PriorityLockTimerState 0
     2020-03-31 20:07:52   RSSILevelState  26
     2020-03-31 20:07:52   SecuredPositionState 0
     2020-03-31 20:07:52   SlateOrientationState 100
     2020-03-31 20:07:52   StatusState     available
     2020-03-31 20:07:52   devicestate     closed
     2020-03-31 20:07:52   state           dim100
Attributes:
   IODev      tahoma1
   alexaProactiveEvents 1
   alias      Rollo Holzhausseite
   room       Felsenkeller


Thomas: Das sieht wirklich ähnlich aus... Wobei homebridgeMapping ein bömisches Dorf für mich ist. Muss mich morgen da mal einlesen. Danke!
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox