alexa-fhem test version mit proaktiven events

Begonnen von justme1968, 15 Februar 2020, 18:44:06

Vorheriges Thema - Nächstes Thema

stefanru

Ok danke,
du hast also nirgends die von "Account Linking" "Your Client ID" verwendet?

Gruß,
Stefan

TomLee

Nirgends mag ich jetzt nicht sagen ohne nachzuschauen, die Client ID unter PERMISSIONS hab ich auf jedenfall eingetragen.

MadMax-FHEM

Hallo Andre,

so ich habe nun auf meinem Testsystem (Raspberry PI 3 Buster) ein frisches alexa-fhem installiert und server.js/fhem.js von github geholt.

Meinen "Reserve-Echo" wieder in Betrieb genommen und einen neuen Amazon-Account angelegt...

Skill verknüpft...

Einen "Fenster-Dummy" angelegt: funktioniert! :)

Eine Routine, wenn Fenster auf geht -> sagt Alexa: alle Fenster sind offen :)

Kann ich noch was testen!?

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)

stefanru

#33
Also ich bin auch weiter.

Ich habe nun bei permissions die clientID und secret von Permission.
Bei oauthClientID die von Account Linking.
Das scheint zu funktionieren.
ich bekomme:

[16.2.2020, 19:36:15] [FHEM] got .eventToken
[16.2.2020, 19:36:15] refreshing token
[16.2.2020, 19:36:16] got fresh token


Leider löst die Rountine aber nicht aus?

Beim Fenster auf kommt folgendes:

[16.2.2020, 19:38:49] [FHEM]     caching: ContactSensorState: CONTACT_NOT_DETECTED (as string; from 'opened (rf error)')
[16.2.2020, 19:38:49] {"event":{"header":{"namespace":"Alexa","name":"ChangeReport","payloadVersion":"3","messageId":"7794f9ee-ff90-4d5b-bf92-76fb8b6e22f3"},"payload":{"change":{"cause":{"type":"PHYSICAL_INTERACTION"},"properties":[{"namespace":"Alexa.ContactSensor","name":"detectionState","value":"DETECTED","timeOfSample":"2020-02-16T18:38:49.923Z","uncertaintyInMilliseconds":500},{"namespace":"Alexa.EndpointHealth","name":"connectivity","value":{"value":"OK"},"timeOfSample":"2020-02-16T18:38:49.923Z","uncertaintyInMilliseconds":500}]}},"endpoint":{"scope":{"type":"BearerToken","token":"access-token-from-Amazon"},"endpointId":"MAX_05e9f9"}}}
[16.2.2020, 19:38:49] posting skill event
[16.2.2020, 19:38:52] posted skill event: 202:


P.S.:
Ich glaube der neue Skill hat Probleme weil die Geräte vom alten sind.
Er zeigt mir in der App auch den Status nicht mehr an.
Werd wohl die alten Geräte löschen müssen

Gruß,
Stefan



TomLee

@MadMax-FHEM

Wsl. klappt dann wohl alles wie vorgesehen wenn man den Connector verwendet.

Wenn du eventuell ein Gerät eingebunden hast, welches brightness 255 zurückgibt, wäre hier noch Bedarf an Rückmeldung welches Verhalten nun der Slider in der Alexa-App zeigt wenn man entweder factor oder min.- und maxValue verwendet.

Gruß

Thomas

MadMax-FHEM

Hallo Thomas,

hmm, leider hab ich nix mit Dimmer/Slider...

Auch nicht auf dem Hauptsystem (welches ich ja durch tausch von server.js/fhem.js "hochbrezeln" könnte)...

Ich müsste das wenn mit einem Dummy nachbauen...

Ich hab jetzt den anderen Thread nur überflogen, daher evtl. noch mal knapp zusammengefasst:

was genau sollte ich "nachbauen" und was genau wird "erwartet"?

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)

stefanru

Hi,

also von mir auch noch kurz Rückmeldung und kurz zusammengefasst was bei mir nötig war:
1. Im Skill unter Permission das "Send Alexa Events" anschalten. (Leider ging das bei meinem Skill nicht und ich musste einen neuen Basic Skill anlegen in dem das dann ging)
2. In der Alexa-Fhem.cfg im Alex applicationId des neuen Skill eintragen
3. In der Alexa-Fhem.cfg unter permissions Skill Id eintragen, client_id aus der Development Console Permissions und das client secret auch aus der Console unter Permissions
4. oauthClientID in der Alexa-Fhem.cfg bleibt die Client ID von Account Linking
5. Skill in Amazon App deaktivieren
5. Alexa in FHEM stoppen
5. Löschen eines vorhandenen .eventToken reading aus Alexa in Fhem mit deletereading
6. Alexa FHEM starten
7. Skill in amazon App Aktivieren
8. Sollte ein neuer Skill nötig gewesen sein alle Devices in der Amazon App löschen und neu finden lassen.

Nun geht bei mir auch das Event und ich kann eine Routine ansprechen lassen.

Gruß und Danke,
Stefan

justme1968

#37
danke fürs testen! das schaut doch gut aus. ich habe diesen stand mal nach npmjs gepublished.

aber achtung: der default für das reporting ist jetzt false. d.h. wenn man es aktivieren möchte muss man ein "report": true in die config einfügen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

gvzdus

Ebenfalls erfolgreich getestet! MAX Fensterkontakt und die Hue-Motion-Sensoren lassen sich als Quelle verwenden.

Stolperstein:
Ich hatte schon ewig die Meldung

failed to refresh token: invalid_grant: 'The request has an invalid grant parameter : refresh_token'

im Logfile. Hat mich nie gestört. Skill trennen und neu verknüpfen reicht nicht. Wie schon von Stefan beschrieben, war auch bei mir ein "deletereading <alexa> eventToken" nötig.

justme1968

ach ja noch etwas: die aktuelle version hat auch den support für bewegungsmelder eingebaut.

es musst ein mapping für MotionDetected nach 0/1 geben. ist aber ungetestet und wie gesagt laut doku in deutschland noch nicht verfügbar.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

stefanru

#40
Cool,

danke dir vielmals.

Das mit dem Motion Sensor werde ich testen.
Wenns mit dem Hue geht gehts hoffentlich auch mit meinem :-)

P.S.: Was für ein DeviceType wäre das denn? Security?
Oder ist das wurscht hauptsache MotionDetected 0/1?

Gruß,
Stefan

gvzdus

Bei mir hat jetzt auch die "fensterkontakt-driven" Routine ("Wenn Fenster offen, warte 10 Minuten, dann sage "Das Badezimmer ist seit 10 Minuten offen") geklappt. Allerdings sehe ich jetzt auf Anhieb keinen Mehrwert, Komplexität in Alexa statt FHEM abzubilden. Ich fände daher eher Dummydevices für Alexa-Ansagen spannend, z.B. einen Solarüberschuss.

Folgenden Wunsch hätte ich noch:
Nach 3,5 h komme ich jetzt auf 2032 "posted skill event"-Zeilen (die immer im Doppelpack auftreten, also gleich zweimal zur gleichen Sekunde). Erstens geht es Amazon einen feuchten Kerricht an, wann ich das Licht ausmache, und wie warm es gerade im Büro ist. Zweitens ist es ja - wenn auch nur unbedeutende - Last. Ich würde mir wünschen, dass man entweder eine Filter-Regel in der Config angeben kann, welche Devices aktiv reported werden, oder aber das als Attribut einem Device zuordnen kann.

stefanru

Ok habe meinen ollen IT Bewegungsmelder nun mit:
genericDeviceType MotionSensor
homebridgeMapping MotionDetected=state,values=on:1;off:0
angelegt und Alexa findet ihn und sagt auch gleich ich könnte ihn in Routinen benutzen.
Geht 1A! Cool.
Auch in der alexa App wird das richtig gut angezeigt. "Kein Bewegung erfasst" und "Bewegung erfasst" jeweils mit Uhrziet usw.

Jetzt frag ich mich doch etwas was es noch für genericDeviceType gibt die Alexa so super anzeigen und handhaben kann.

Bisher ist bei mir ziemlich alles Schalter oder Lampe :-=)

Gruß und Danke,
Stefan



justme1968

@gzdivus: geht doch alles schon.

- der default ist in der eingecheckten version false.
- du kannst es mit "report" : true aktivieren.
- wenn du nicht alles melden willst: leg einen zweiten connection block an mit anderem filter und anderem report an.

und das man dir automation besser in fhem abbilden soll war ganz am anfang sowieso mein erster satz dazu :)

ansonsten: es sollte pro readings änderung nur ein event erzeugt werden. wenn ein device mehrere werte auf einmal änder könnte man die zwar in einer nachricht zusammenfassen, den aufwand wollte ich aber nicht treiben.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

dora71

Hallo zusammen,

erst einmal wieder vielen Dank für die ständige Weiterentwicklung von alexa-fhem. Da macht das Testen richtig Spaß  8)

Soweit ich das beurteilen kann, funktioniert von alexa-fhem's Seite auch alles, da ich regelmäßig folgende Meldungen im Log habe:
Feb 18 17:06:44 inet alexa[15978]: [2020-2-18 17:06:44] posting skill event
Feb 18 17:06:44 inet alexa[15978]: [2020-2-18 17:06:44] posted skill event: 202:


Damit würde ich sagen, habe ich nichts grob falsch gemacht. Allerdings bekomme ich in der Alexa App immer noch keine Smarthome Geräte angezeigt, um Routinen zu erstellen. Geräte an sich werden erkannt, nur dort nicht, wo ich eine Routine bauen will und die Geräte als "Auslöser" einbauen möchte. Habe mich an die Anleitung von stefanru in diesem Thread gehalten.

Ich benutze die alexa-fhem Version 0.5.46 aus dem Git Repository ohne FHEM-Connector und auf einem anderen Rechner als dem, wo FHEM drauf läuft.
Habe den Skill deaktiviert und danach wieder aktiviert. Auch die Geräte habe ich durch die App noch mal neu erkennen lassen.
Habe ich noch etwas übersehen?

Gruß Rainer