Alexa Smarthome Skill Tür-/Fensterkontact

Begonnen von zap, 28 Oktober 2017, 16:25:40

Vorheriges Thema - Nächstes Thema

zap

Ich versuche gerade, einen Homematic Tür-/Fensterkontakt mit Alexa abzufragen, also "Alexa, ist die Haustür geschlossen".
Dazu habe ich folgende Attribute gesetzt:


attr genericDeviceType contact
attr homebridgeMapping ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED CurrentDoorState=state,values=closed:CLOSED;open:OPEN


Wenn ich unter alexa.amazon.com nach neuen Geräten suchen lasse, wird der Kontakt nicht gefunden. Beim Starten von alexa auf dem Raspi gibt es folgende Einträge in /var/log/daemon.log


Oct 28 16:21:55 smarthome alexa[2516]: [10/28/2017, 4:21:55 PM] [FHEM] HM_TF_FL_Haustuer is contact
Oct 28 16:21:55 smarthome alexa[2516]: [10/28/2017, 4:21:55 PM] [FHEM] HM_TF_FL_Haustuer has
Oct 28 16:21:55 smarthome alexa[2516]: [10/28/2017, 4:21:55 PM] [FHEM]   StatusLowBattery [battery]
Oct 28 16:21:55 smarthome alexa[2516]: [10/28/2017, 4:21:55 PM] [FHEM]   ContactSensorState [state]
Oct 28 16:21:55 smarthome alexa[2516]: [10/28/2017, 4:21:55 PM] [FHEM]   CurrentDoorState [state]
Oct 28 16:21:55 smarthome alexa[2516]: [10/28/2017, 4:21:55 PM] [FHEM] { reading: 'battery',
Oct 28 16:21:55 smarthome alexa[2516]:   values: [ 'ok:BATTERY_LEVEL_NORMAL', '/.*/:BATTERY_LEVEL_LOW' ],
Oct 28 16:21:55 smarthome alexa[2516]:   device: 'HM_TF_FL_Haustuer',
Oct 28 16:21:55 smarthome alexa[2516]:   informId: 'HM_TF_FL_Haustuer-battery',
Oct 28 16:21:55 smarthome alexa[2516]:   characteristic_type: 'StatusLowBattery',
Oct 28 16:21:55 smarthome alexa[2516]:   log:
Oct 28 16:21:55 smarthome alexa[2516]:    { [Function: bound ]
Oct 28 16:21:55 smarthome alexa[2516]:      debug: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      info: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      warn: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      error: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      log: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      prefix: 'FHEM' },
Oct 28 16:21:55 smarthome alexa[2516]:   value2homekit: { ok: 'BATTERY_LEVEL_NORMAL' },
Oct 28 16:21:55 smarthome alexa[2516]:   value2homekit_re: [ { re: '.*', to: 'BATTERY_LEVEL_LOW' } ] }
Oct 28 16:21:55 smarthome alexa[2516]:   2017-10-28 16:21:55 caching: HM_TF_FL_Haustuer-battery: low
Oct 28 16:21:55 smarthome alexa[2516]: [10/28/2017, 4:21:55 PM] [FHEM] { reading: 'state',
Oct 28 16:21:55 smarthome alexa[2516]:   values: [ 'closed:CONTACT_DETECTED', 'open:CONTACT_NOT_DETECTED' ],
Oct 28 16:21:55 smarthome alexa[2516]:   device: 'HM_TF_FL_Haustuer',
Oct 28 16:21:55 smarthome alexa[2516]:   informId: 'HM_TF_FL_Haustuer-state',
Oct 28 16:21:55 smarthome alexa[2516]:   characteristic_type: 'ContactSensorState',
Oct 28 16:21:55 smarthome alexa[2516]:   log:
Oct 28 16:21:55 smarthome alexa[2516]:    { [Function: bound ]
Oct 28 16:21:55 smarthome alexa[2516]:      debug: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      info: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      warn: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      error: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      log: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      prefix: 'FHEM' },
Oct 28 16:21:55 smarthome alexa[2516]:   value2homekit: { closed: 'CONTACT_DETECTED', open: 'CONTACT_NOT_DETECTED' },
Oct 28 16:21:55 smarthome alexa[2516]:   value2homekit_re: [] }
Oct 28 16:21:55 smarthome alexa[2516]:   2017-10-28 16:21:55 caching: HM_TF_FL_Haustuer-state: closed
Oct 28 16:21:55 smarthome alexa[2516]: [10/28/2017, 4:21:55 PM] [FHEM] { reading: 'state',
Oct 28 16:21:55 smarthome alexa[2516]:   values: [ 'closed:CLOSED', 'open:OPEN' ],
Oct 28 16:21:55 smarthome alexa[2516]:   device: 'HM_TF_FL_Haustuer'
Oct 28 16:21:55 smarthome alexa[2516]:   informId: 'HM_TF_FL_Haustuer-state',
Oct 28 16:21:55 smarthome alexa[2516]:   characteristic_type: 'CurrentDoorState',
Oct 28 16:21:55 smarthome alexa[2516]:   log:
Oct 28 16:21:55 smarthome alexa[2516]:    { [Function: bound ]
Oct 28 16:21:55 smarthome alexa[2516]:      debug: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      info: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      warn: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      error: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      log: [Function],
Oct 28 16:21:55 smarthome alexa[2516]:      prefix: 'FHEM' },
Oct 28 16:21:55 smarthome alexa[2516]:   value2homekit: { closed: 'CLOSED', open: 'OPEN' },
Oct 28 16:21:55 smarthome alexa[2516]:   value2homekit_re: [] }


Scheint soweit ok zu sein, aber findet der Smarthome Skill das Gerät nicht?

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

cs-online

...weiß nicht ob das beim Smart Home Skill anders ist als beim Custom-Skill, aber im Custom Skill muss das Device im Raum sein, wo auch das Alexa-Device ist, sonst wird das Device nicht gefunden. Wenn Du die CustumSlotTypes im Alexa Device abruft, wird dann bei


Custom Slot Types:
  FHEM_Device


Dein Schalter mit angezeigt ?
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

zap

Nein, da kommt gar keine Ausgabe, auch nicht bei get skillid. Das hat vor 2 Tagen noch funktioniert, dann habe ich die 0.3.5 installiert. Mist, was für ein Gefrickel. Soll ich jetzt nochmal stindenlang diesen blöden Skill konfigurieren? Ich glaube ich lass das. Ich habe sowieso fast alles an der Homematic CCu hängen. Da gibt es mehrere Skills, die ohne diese kryptische Konfig-Orgie funktionieren.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

cs-online

wenn es dort nicht angezeigt wird, hast du möglicherweise kein Reload im Alexa Device gemacht, den Schalter nicht im selben Raum wie das Alexa-Device, AlexaRoom oder AlexaName oder genericDeviceType nicht gesetzt oder den Alexa Dienst seit dem Anlegen des Schalters nicht neu gestartet. Erst muss das im Alexa Device unter FHEMDevices angezeigt werden mit dem AlexaName, dann geht's erst auf den Amazon-Seiten weiter...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

zap

#4
Witzigerweise wird da gar nichts mehr angezeigt. Auch nicht die anderen Devices die noch funktionieren. Für den Smarthome Skill scheint das auch egal zu sein. Habe gerade einen Switch angelegt. Der hat sofort (nach Neustart des Alexa Prozesses und Gerätesuche) funktioniert.
Ich möchte, dass der Sensor im Smarthome Skill verfügbar ist, der Custom Skill ist mir erst mal egal. Unterstützt der Smarthome Skill überhaupt Fenstersensoren?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Adam

Hallo,

ich habe ein ähnliches Problem .... Dummys als Switch und ein Thermometer werden als Geräte in Alexa gefunden.

Fensterkontakte nicht:

Gesetzt habe ich:

alexaName           Kellertuer
genericDeviceType   contact
homebridgeMapping   clear ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED
room                alexa


und mein Filter in der config.json steht auf "filter": "room=alexa"

alexa-fhem ist neu gestartet und bei einem "get Echo customSlotTypes"
wird mein Kontakt Kellertuer auch ausgegeben.

Jemand eine Idee???

TomLee

Behaupte jetzt einfach mal contact wird im Smart Home Skill noch nicht unterstützt, im Costum Skill schon.

Bin der Meinung bisher nur von Statusabfragen der Temperatur und Türschlössern gelesen zu haben und das mit 0.3.5.


Gruß

Thomas

zap

Inwiefern unterscheidet sich die Config von einem Türschloss von der eines Fensterkontakts?
Wie müssen devicetype und homebridgemapping eingestellt werden?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Adam

Im Smarthome Skill werden sie nicht angezeigt, aber ich kann sie nun mit der oben genannten Config nun im Custom Skill abfragen.
(Habe alles noch mal durchgestartet und im Custom Skill den alexaNamen als SlotType nochmal eingetragen und nochmals gespeichert!)

Leider sagt mir alexa jedoch immer, der Kontakt wäre geschlossen, egal, ob State open oder closed ist.
In den Ausgaben von alexa-fhem sehe ich die unterschiedlichen Statuswechsel, dort kommt es also an.

Ich vermute, dass das homebridgemapping (oben) noch nicht korrekt ist!?

TomLee

ZitatInwiefern unterscheidet sich die Config von einem Türschloss von der eines Fensterkontakts?

hier wo die 0.3.5 her hast gibt's ne kurze Bemerkung von Andre dazu:
Zitatedit 2017-07-23: erweiterung um die neuen events für türschlösser:
  - alexa, ist <name> abgeschlossen
  -> das device muss eine LockCurrentState characteristic haben, der wert für abgeschlossen muss locked sein
  - alexa, schliesse <name> ab
  -> das device muss eine LockTargetState characteristic haben, für anderes genericDeviceType lock verwenden


ZitatWie müssen devicetype und homebridgemapping eingestellt werden?

https://wiki.fhem.de/wiki/Alexa_und_Mappings

Mein Gedanke beim mitlesen war: Möglicherweise lässt sich das Abfragen des Kontaktsensor mit genericDeviceType lock und entsprechend angepassten Readings und homebridgeMapping  umsetzen. Ich hab kein Türschloss, aber bei meinen Versuchen mit einem Dummy bin ich auch gescheitert. Dieser wird mit genericDeviceType lock nicht erkannt/gefunden.


juemuc

Hallo zusammen,

ich habe es heute geschafft, den Türkontakt im Smarthomeskill anzeigen zu lassen. Dazu muss man den GenericDeviceType auf blind setzen. Eine Abfrage des Status funktioniert aber (noch) nicht.  :-[

VG
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

zap

Bei mir sieht es so aus:

genericDeviceType = security
homebridgeMapping = LockCurrentState=state,values=open:unlocked;closed:locked;/.*/:UNKNOWN

Der Sensor wird im Smarthome Skill angezeigt.

Wenn ich Frage: "Alexa, ist Wohnzimmerfenster abgeschlossen?" kommt:

"Einen Moment, ich prüfe das" (Pause) "Wohnzimmerfenster ist offen".

Problem: Das Wohnzimmerfenster ist geschlossen, nicht offen. Das Mapping scheint also noch falsch zu sein.

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Adam

Also einen Dummy als Fensterkontakt mit folgender Konfiguration kann ich nun abfragen und er liefert den korrekten Wert:
(nur im Custom Skill !!!)







alexaNameFenster
genericDeviceTypecontact
homebridgeMappingContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED
roomalexa
setListopen closed

Ein MAX Fensterkontakt mit den gleichen Attributen liefert leider immer "geschlossen" zurück!

cs-online

@ZAP: was zeigt der denn, wenn das Fenster offen ist, dann auch geschlossen ?
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

zap

Muss ich testen. Ich werde den genericDevicetype  auch mal auf lock ändern, denn der Ansatz ist ja, einen Fenster Kontakt als Schloss zu verkaufen.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

justme1968

das smart home api kennt nur türschlösser. keine tür oder fenster kontakte.

d.h. es geht nur mit lock.

der custom skill kennt auch kontakt sensoren wenn alexaMapping und homebridgeMapping passen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

TomLee

Ich brauch das nicht aber es interessiert mich.
Was mach ich den dann noch falsch das mein Dummy nicht erkannt wird ?
Internals:
   CFGFN
   NAME       Tor_West
   NR         64955
   STATE      closed
   TYPE       dummy
   READINGS:
     2017-11-13 23:08:20   lock            locked
     2017-11-13 23:08:20   state           closed
Attributes:
   alexaName  Tür
   genericDeviceType lock
   homebridgeMapping clear LockCurrentState=lock
   room       Alexacontrol,Test
   setList    opened closed
   userReadings lock {(ReadingsVal($name,"state","closed") eq "closed")?"locked":"unlocked"}

zap

#17
sieht eigentlich ähnlich aus wie bei mir. Hier meine Konfiguration eines echten TF-Kontakts definiert mit HMCCUCHN. So funktioniert das jetzt bei mir mit dem Smarthome-Skill. Ein direktes homebridgeMapping der Stati 'open' und 'closed' auf "SECURED" oder "UNSECURED" funktioniert komischerweise nicht.

Leider geht auch nur "Alexa, ist Haustür abgeschlossen" und nicht "Alexa, ist Haustür geschlossen". Noch lieber wäre mir "Alexa, ist XY-Fenster zu?"

Bei "ist geschlossen?" kommt "Haustür unterstützt das nicht", bei "ist zu?" kommt "das weiß ich leider nicht".

So richtig befriedigend ist das alles nicht. Wenn ich den Smarthome Skill nutzen will, muss ich Dinge "seltsam" formulieren. Wenn ich mit Alexa mit sinnvollen Sätzen kommunizieren will, muss ich "sage xy" oder "frage xy" davor setzen (Custom Skill eben).

Ist das bei Siri eigentlich besser? Wenn ja, wäre vielleicht der Apple Lautsprecher eine Alternative zu Alexa.


   READINGS:
     2017-11-14 11:01:54   1.STATE         closed
     2017-11-14 11:01:54   activity        alive
     2017-11-14 11:01:54   battery         ok
     2017-11-14 11:01:54   hmstate         closed
     2017-11-14 11:01:54   lockstate       locked
     2017-11-14 11:01:54   state           closed
Attributes:
   alexaName  Haustür
   alexaRoom  Flur
   ccureadingfilter STATE
   event-on-change-reading .*
   genericDeviceType lock
   homebridgeMapping LockCurrentState=lockstate
   room       Alexa,Homematic
   statedatapoint STATE
   substitute STATE!(0|false):closed,(1|true):open
   userReadings lockstate { ReadingsVal($name,'state','open') eq 'open' ? 'unlocked' : 'locked' }

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

TomLee

Es wird wohl so sein das Amazon da einfach noch nicht nachgebessert hat (zu wenig Feedback?, zu wenig User?).

Hab gestern Abend  nämlich das hier noch gefunden, daß Thema gab's ja schonmal.

Also sollte bei dir auch ein 'Alexa,  wie ist die Haustür?' gehen

zap

#19
Benutzt Du eigentlich auch die Version 0.35 ?

Wenn ich frage "Alexa wie ist die Haustür" kommt "Hier ist deine Zusammenfassung von den Nachrichten der Tagesschau, bla bla ..."

Suboptimal :-)

Mal davon abgesehen, dass das so auch niemand sagt.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

TomLee

Nutze 0.3.5.

Mein Dummy wird ja gar nicht erst gefunden, brauch die Funktion aber auch bis jetzt nicht.

Es wird einfach zu wenige Nutzer geben, die zu diesem Thema bisher Feedback gaben, darum immer noch die umständliche Formulierung.

Siehe bspw. die Temperaturabfrage. Es hat jetzt rd.  3 Monate gedauert bis diese korrekt angesagt wird.

juemuc

Hallo,

aus meiner Sicht liegt es an diesem Parameter: "genericDeviceType". Hier scheinen bestimmte Readings für die einzelnen Werte vorliegen zu müssen. Bei dem Wert "blind" wird der Dummy angezeigt. Eine Abfrage der Werte funktioniert aber trotzdem nicht.

VG
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).