FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: steffen83 am 01 Januar 2021, 19:29:33

Titel: homebridgeMapping for Alexa Routine
Beitrag von: steffen83 am 01 Januar 2021, 19:29:33
Hallo und frohes Neues in die Runde,
ich komme hier leider nicht weiter und habe schon alles mögliche ausprobiert. Im Forum und Wiki geht es alles mehr auf Homekit aus. Und zwar habe ich über ESP Easy (D1 mini) 3 Bewegungsmelder, welche ich gerne auch über die Alexa Routinen steuern möchte. Die Geräte werden mir schon als Bewegungsmelder in Alexa angezeigt, jedoch funktionieren sie nicht.

Hierzu ein List vom Bewegungsmelder (readingsproxy)
ZitatInternals:
   DEF        ESPEasy_ESP_Kueche:Bewegungsmelder_K_Kiste
   DEVICE     ESPEasy_ESP_Kueche
   FUUID      5eddfedd-f33f-3317-4205-5916c9bb249d8a43
   NAME       Bewegungsmelder_K_Kiste
   NOTIFYDEV  ESPEasy_ESP_Kueche,global
   NR         92
   NTFY_ORDER 50-Bewegungsmelder_K_Kiste
   READING    Bewegungsmelder_K_Kiste
   STATE      off
   TYPE       readingsProxy
   CONTENT:
     ESPEasy_ESP_Kueche 1
   READINGS:
     2020-12-31 09:36:19   motion          0
     2020-12-31 09:36:19   state           off
Attributes:
   alexaName  Bewegungsmelder_Keller
   alexaProactiveEvents 1
   devStateIcon on:motion_detector@red off:motion_detector@green
   genericDeviceType MotionSensor
   homebridgeMapping MotionDetected=motion,values=0:off;1:on
   room       Keller,alexa
   userReadings motion {if(ReadingsVal("Bewegungsmelder_K_Kiste","state","") eq "off") {return "0"} else {return "1"} },
In Alexa sieht das ganze wie folgt aus:
Anlage

Ich habe schon viel rumgefummelt um das ganze über das statereading irgendwie hinzubiegen jedoch keine Chance.
Wichtig, ich habe kein HOMEKIT! Ich möchte es lediglich über Alexa erkennen.

Vielleicht habe ihr ja die Lösung parat.
Gruß
Steffen
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: MadMax-FHEM am 01 Januar 2021, 19:41:58
Hm, ich bin jetzt auch kein homebridgeMapping-Spezialist.

Ich hab mal bei meinem ContactSensor "gespickt" (der funktioniert als Trigger für Routinen / falls du das gemeint hast):


homebridgeMapping ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED


Daher würde ich eher sowas mal versuchen:


homebridgeMapping MotionSensorState=motion,values=1:MOTION_DETECTED;0:MOTION_NOT_DETECTED


Du könntest aber auch ohne userReadings (wenn du es nur deshalb hast) direkt auf state gehen (siehe mein Beispiel).

Aber bzgl. MotionSensorState und MOTION_DETECTED bzw. MOTION_NOT_DETECTED bin ich nicht sicher...

Evtl. reicht auch (schon) DETECTED oder NOT_DETECTED

EDIT: bzw. laut Wiki (klingt aber "eigenartig") auch sowas wie MotionDetected=motion,values=1:1;0:0 oder MotionDetected=state,values=on:1;off:0 bzw. steht dort auch, dass wenn ein Reading 'motion' vorhanden wäre sollte es autom. gehen. Aber verm. passen die Werte 0 und 1 nicht? Ansonsten eben im alexa-fhem Log (NICHT fhem Log!) nachschauen bei der Erkennung (reload oder restart von alexa-fhem). Und nach Änderungen nat. reload alexa-fhem und besser auch das Gerät bei Alexa entfernen und neu suchen (mindestnens bei "größeren" Änderungen)...

Gruß, Joachim
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: micky0867 am 01 Januar 2021, 21:05:26
Zitat von: steffen83 am 01 Januar 2021, 19:29:33
Hallo und frohes Neues in die Runde,
Frohes neues!
Ich bin nur neugierig, weil ich's nicht verstehe:
Was ist Dein Ziel?

Vielleicht machst du ja etwas interessantes, was ich bisher noch nicht auf dem Schirm hatte.

Gruß
Micky
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: MadMax-FHEM am 01 Januar 2021, 21:16:20
Ich nehme an: wenn Bewegung, dann starte eine Routine und das konfiguriert in der Alexa-App
(weil in fhem geht das mit dem echodevice ja schon lange ;)  )

Geht ja mittlerweile -> proactive Events

Habe ich mit meinem Fenster-Sensor auch schon mal gemacht (aber nur "rumgespielt")...
...aber ich bin eher "Verfechter" von: eine Stelle für Automatismen...

Sonst wird es irgendwann unübersichtlich...

Gruß, Joachim
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: steffen83 am 01 Januar 2021, 21:17:39
Danke, ich prüfe mal ob es geht.

Wäre ja nur, falls meine Frau das mal machen möchte...
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: steffen83 am 01 Januar 2021, 21:51:43
ContactSensorState=state,values=on:CONTACT_DETECTED;off:CONTACT_NOT_DETECTED


homebridgeMapping MotionSensorState=motion,values=1:MOTION_DETECTED;0:MOTION_NOT_DETECTED


geht leider beides nicht. Ich sehe die zwar aber der reagiert nicht
noch ideen?
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: MadMax-FHEM am 01 Januar 2021, 22:00:47
Hast du (nur zum Test) mal einen ContactSensor (genericDeviceType) gemacht und mit meinem Mapping probiert?

Oder einfach mal mit diesem dummy:

EDIT: hier zur Sicherheit als "RawDef":

defmod dmAlleFenster dummy
attr dmAlleFenster alexaName alle Fenster
attr dmAlleFenster alexaProactiveEvents 1
attr dmAlleFenster genericDeviceType contact
attr dmAlleFenster homebridgeMapping ContactSensorState=state,values=closed:CONTACT_DETECTED;;open:CONTACT_NOT_DETECTED
attr dmAlleFenster setList open closed

setstate dmAlleFenster 2021-01-01 15:29:23 state closed


Und dann noch den dummy mal auf open oder closed setzen...
EDIT: sollte das setstate der RawDef gemacht haben ;)

Welche Version von alexa-fhem hast du?

Ich hatte vor einiger Zeit auch jemanden hier, der auch einige Zeit gebraucht hat bevor das (mein dummy) funktioniert hat.

Vielleicht mal "sacken" lassen auf Amazon-Seite ;)

Gruß, Joachim
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: steffen83 am 01 Januar 2021, 22:15:47
Hmm schon komisch, mit dem Dummy geht es auch nicht
alexa-fhem version 0.5.55

habe ihn auch mal als security gemacht, geht auch nicht...
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: MadMax-FHEM am 01 Januar 2021, 22:21:15
Aktuell ist 0.5.57 (oder sogar schon 0.5.58)
Aktualisieren geht über die Linux-Console (siehe Wiki ganz unten)...

Aber bevor du updatest: welches OS? Buster (und aktuell)? Wenn nicht dann besser erst mal nicht alexa-fhem updaten... ;)

Aber wie geschrieben: auch bei anderen die den dummy (testweise) verwendet haben hat es gedauert bevor das geklappt hat.

Ein restart oder reload alexa hast du gemacht und auch neu suchen lassen?

Mehr kann ich da jetzt leider nicht mehr helfen...

Außer: der dummy funktioniert bei mir (habe ich den "anderen" auch immer geschrieben und irgendwann kam dann: und jetzt bei mir auch ;) )...

Gruß, Joachim
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: steffen83 am 01 Januar 2021, 22:28:47
So, ich habe den PI mal neugestartet. der Dummy geht jetzt.... aber halt das readingProxy nicht
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: MadMax-FHEM am 01 Januar 2021, 22:32:27
Mal beim readingsProxy die Attribute meines dummy probiert?

Ansonsten muss ich noch mal schauen wie das mit Motion geht...
...ich kann ja mal so einen readingsProxy (oder dummy) nachbauen...

EDIT: poste doch mal ein "RawDef" deines readingsProxy...

EDIT: aber verm. erst morgen...

Gruß, Joachim
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: amenomade am 01 Januar 2021, 22:53:10
Zitat von: MadMax-FHEM am 01 Januar 2021, 22:00:47

EDIT: sollte das setstate der RawDef gemacht haben ;)

setstate generiert aber kein Event. Somit wird Alexa nicht aktualisiert. Wenn steffen kein "set alexa reload" oder kein Restart von alexa-fhem gemacht hat, passiert dann nichts.
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: MadMax-FHEM am 01 Januar 2021, 23:00:42
Ja aber der Fensterkontakt geht ja!?

Aber ich komme mit Motion nicht weiter...
...zu dumm dazu ;)

Konnte ja nicht mal das passende genericDeviceType finden.

Glaube nicht, dass 'MotionSensor' richtig ist.
Die anderen sind ja immer nur kurze "Worte": blind, light, switch, ...

Ich habe schon mal mit 'security' gebastelt und 'motion' hab ich auch schon mal probiert aber irgendwie...

Also ich weiß (aktuell) leider nicht weiter, sorry.

Gruß, Joachim
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: TomLee am 02 Januar 2021, 00:22:25
Meine Vermutung, es gibt kein Event bei dem ReadingsProxy aus dem ersten Post, die Readings werden nur "aktualisiert", darum kommt auch nix bei "Alexa" an.

Beim readingsProxy müssen mMn/Erfahrung nach Events erzwungen werden, hier bspw. mit event-on-change-reading state

(Trigger im userReadings hier vermutlich (mein ich) nicht nötig)

Mag sein das ich mich täusche, es auch noch nicht ganz verstanden zu haben, aber der Wert der Temperatur aus diesem readingsProxy bspw.:

defmod rp_WW_temp readingsProxy MQTT2_ebusd_bai:1_Warmwassertemperatur
attr rp_WW_temp alexaName nemo
attr rp_WW_temp comment {fhem("setreading rp_WW_temp temperature $VALUE")}\
\
{fhem("setreading $DEVICE temperature $VALUE")}\
\
CurrentTemperature=state
attr rp_WW_temp event-on-change-reading state
attr rp_WW_temp genericDeviceType thermometer
attr rp_WW_temp homebridgeMapping CurrentTemperature=state
attr rp_WW_temp room Homekit,Sprachsteuerung

setstate rp_WW_temp 45.0
setstate rp_WW_temp 2021-01-02 00:00:38 state 45.0


ist nur wegen dem eocr "Alexa" bekannt.
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: MadMax-FHEM am 02 Januar 2021, 00:51:28
Naja alles schön und gut ABER: der Fenster dummy geht ja und dass/wie es mit Temperatur etc. geht ist auch klar bzw. zu finden...

Das mit den Events wird dann wichtig, wenn mal der "Rest" passt bzw. klar ist...

Was fehlt: wie muss denn der genericDeviceType für Motion Sensor lauten. Habe (lange) gesucht, konnte aber nirgends was finden...
(gut im Code hab ich noch nicht geschaut)
Genausowenig wie das homebridgeMapping lauten muss...

Habe bei mir ja mit einem dummy "rumgespielt" (und da gibt es Events ;)  Fenster geht ja wie geschrieben auch)...
...nur irgendwas mit Motion hab ich nicht hinbekommen... :-\

Gruß, Joachim
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: amenomade am 02 Januar 2021, 01:28:30
genericDeviceType: MotionSensor
homebridgemapping: MotionDetected=...
Titel: Antw:homebridgeMapping for Alexa Routine
Beitrag von: TomLee am 02 Januar 2021, 02:23:05
Also bei mir klappt das schon so wie im ersten Post wsl. angedacht gewesen war.

Die values-Angabe war nur verdreht und wie vermutet klappts nur mit dem eocr-Attribut.

das userreading hab ich zum testen einfach mal rausgelassen:

defmod Bewegungsmelder_K_Kiste readingsProxy du_Testy:state
attr Bewegungsmelder_K_Kiste alexaName keller
attr Bewegungsmelder_K_Kiste event-on-change-reading state
attr Bewegungsmelder_K_Kiste genericDeviceType MotionSensor
attr Bewegungsmelder_K_Kiste homebridgeMapping MotionDetected=state,values=on:1;;off:0
attr Bewegungsmelder_K_Kiste room Test

setstate Bewegungsmelder_K_Kiste on
setstate Bewegungsmelder_K_Kiste 2021-01-02 02:09:58 state on