39_alexa.pm und alexa-fhem test version

Begonnen von justme1968, 03 Januar 2019, 22:43:10

Vorheriges Thema - Nächstes Thema

Sailor

Zitat von: gvzdus am 06 August 2019, 07:59:01
Mit einem Restrisiko auch darin, dass Du Dir nicht ganz schlüssig zu sein scheinst, ob man Rollladen mit 2 oder 3 "L" schreibt.

Im fhem immer mit 3 "L".  ;)

Gruss
    Sailor
******************************
Man wird immer besser...

TomLee

Es geht tatsächlich nur wenn Rollläden in der Gruppe sind, nehme ich eine Lampe mit rein
wird nur die Lampe auf den Prozentwert gesetzt.
Am Ende ja das was man haben möchte

Mit diesen zwei Rollläden in der Gruppe Gästezimmer klappt das bei mir mit folgenden Einstellungen:

defmod Rollo_EG_Kueche CUL_HM 4AABAF
attr Rollo_EG_Kueche IOgrp VCCU
attr Rollo_EG_Kueche alexaName erdbeere
attr Rollo_EG_Kueche autoReadReg 4_reqStatus
attr Rollo_EG_Kueche devStateIcon (100|on):fts_shutter_10@green (0|off):fts_shutter_100@red 1\d.*:fts_shutter_90 2\d.*:fts_shutter_80 3\d.*:fts_shutter_70 4\d.*:fts_shutter_60 5\d.*:fts_shutter_50 6\d.*:fts_shutter_40 7\d.*:fts_shutter_30 8\d.*:fts_shutter_20 9\d.*:fts_shutter_10 9\d.*:fts_shutter_10
attr Rollo_EG_Kueche expert 2_raw
attr Rollo_EG_Kueche firmware 2.8
attr Rollo_EG_Kueche genericDeviceType light
attr Rollo_EG_Kueche model HM-LC-BL1-FM
attr Rollo_EG_Kueche peerIDs 00000000,
attr Rollo_EG_Kueche room Homekit,Homematic,Rollladen
attr Rollo_EG_Kueche serialNr NEQ0512953
attr Rollo_EG_Kueche subType blindActuator
attr Rollo_EG_Kueche verbose 2
attr Rollo_EG_Kueche webCmd statusRequest:toggleDir:on:off:up:down:stop



defmod Rollo_OG_Bad CUL_HM 3B865B
attr Rollo_OG_Bad IOgrp VCCU
attr Rollo_OG_Bad alexaName himbeere
attr Rollo_OG_Bad autoReadReg 4_reqStatus
attr Rollo_OG_Bad devStateIcon (100|on):fts_shutter_10@green (0|off):fts_shutter_100@red 1\d.*:fts_shutter_90 2\d.*:fts_shutter_80 3\d.*:fts_shutter_70 4\d.*:fts_shutter_60 5\d.*:fts_shutter_50 6\d.*:fts_shutter_40 7\d.*:fts_shutter_30 8\d.*:fts_shutter_20 9\d.*:fts_shutter_10 9\d.*:fts_shutter_10
attr Rollo_OG_Bad expert 2_full
attr Rollo_OG_Bad firmware 2.5
attr Rollo_OG_Bad genericDeviceType light
attr Rollo_OG_Bad model HM-LC-BL1-FM
attr Rollo_OG_Bad peerIDs 00000000,
attr Rollo_OG_Bad room Homekit,Homematic,Rollladen
attr Rollo_OG_Bad serialNr MEQ0392459
attr Rollo_OG_Bad subType blindActuator
attr Rollo_OG_Bad verbose 2
attr Rollo_OG_Bad webCmd statusRequest:toggleDir:on:off:up:down:stop





Meine mich erinnern zu können das es mal möglich war die Rollos (Standardeinstellungen)
mit dem Sprachbefehl ein/aus zu steuern, das geht jetzt nicht mehr. Wie muss denn das homebridgemapping
aussehen das man mit dem Schalter über dem Slider (mit genericDeviceType light) auch ein/aus schalten kann, hier bekomme ich ein Server reagiert nicht beim betätigen ?

So klappts nicht:

On=state,valueOn=/up/,valueOff=/down/,cmdOn=up,cmdOff=down

87insane

Hey,

so wie ich das sehe hast du deine Alexa und deine Räume nicht sauber zugeordnet.

Wenn ich in einem Raum mit % Dimmbaren Lampen und Rollos sage, Wohnzimmer 60%. Fahren die Rollos auf 60% und die Lichter gehen auch auf 60%. Wenn ich nun sage, Wohnzimmer Rollo auf xx%, dann passiert das auch. Du brauchst eigentlich KEIN Homebridgemapping, da der Befehl PCT mitgenommen werden sollte.

attr Rollo_EG_Kueche genericDeviceType light = unnötig. Alexa kann offiziell KEINE Rollos. Alexa sieht die immer als Lampe wenn die richtigen set Befehle vorhanden sind.

Hast du ein List?

justme1968

fast.

alexa bekommt das device als PercentageController. ob das gerät auch als lampe verwendet wird hängt vom genericDeviceType und/oder der konfiguration in der alexa app ab. dort stehen sie dann unter lampen oder unter schalter und haben als symbol eine glühbirne oder einen schalter. diese letze zuordnung ist und er app frei wählbar und wird sich auf dauer gemerkt. d.h. ist nachträglich über genericDeviceType nicht mehr änderbar. nur über die app.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

87insane

Jap... Aber egal ob als Lampe oder Schalter... den Type braucht man nicht zwangsläufig. In der App muss man bei einer Lampe z.B. eh nachträglich nochmal den Typ auswählen. Egal was du in FHEM einstellst. Hatte ich bisher bei allen Geräten so. Stört mich aber auch nicht.

Wichtig ist nur das der Schalter/das Gerät die richtigen Befehle (setter) hat. So wie ich das hier verstanden hatte, geht das nicht wie gewünscht. Also immer erstmal mit minimal Konfig anfangen und langsam hoch arbeiten. So würde ich das angehen. Aber hier fehlen wohl noch Infos vom Ersteller.

fireball

Hi,

ich habe nun auch Alexa-Fhem bei mir eingebunden, aber ich habe immer das Problem, dass bei mir neue Geräte bei Amazon nicht auftauchen.
Ich habe schon etliche Geräte drin, also grundsätzlich gehts auch, aber einige Geräte werden nicht erkannt.
Wie geh ich vor...

1. alexName und alexaRoom setzen.
2. Restart des Alexa FHEM Moduls mittels set restart
3. neue Suche von Geräten auf der Amazon-Webseite.

Das ganze Prozdere läuft ungefähr in 1min ab.

Trotzdem habe ich immer mal wieder Geräte die nicht auf der Amazon-WebSeite auftauchen und dementsprechend von Alex auch nicht gefunden werdne.

Gerät 1: Mein SamsungTV
Hier musste ich mit dem HomebridgeMapping arbeiten, weil er in den set-commandos kein on/off hat, sondern poweron/poweroff

Internals:
   CHANGED   
   DEF        192.168.178.51 55000
   FUUID      5d4c4eb9-f33f-0804-e70e-******
   Host       192.168.178.51
   MAC        b8:27:******
   Mode       
   MyIP       192.168.178.29
   NAME       SchlafzimmerTV
   NR         420
   NTFY_ORDER 50-SchlafzimmerTV
   Port       55000
   STATE      absent
   TYPE       SamsungAV
   READINGS:
     2019-08-08 20:02:27   state           absent
   helper:
Attributes:
   alexaName  SchalfzimmerTV
   alexaRoom  Schlafzimmer
   homebridgeMapping On:cmdOn=poweron,CmdOff=poweroff
   room       ALEXA,SCHLAFZIMMER



Gerät 2: Ein DummyDevice, welches ich mir gebaut habe um Temperaturwerte auszulesen
Hier habe ich auch mit dem HomebridgeMapping gearbeitet, damit ich mir die Temperatur ansagen lassen kann. Den Wert den ich brauche ist in Temp_in_Wassertasche

Internals:
   CHANGED   
   FUUID      5d374cda-f33f-0804-4b5c-3d0c6c0cc4eb97ee
   NAME       Kamin
   NR         284
   STATE      off
   TYPE       dummy
   READINGS:
     2018-12-03 16:15:29   AlarmTemperatur 90
     2019-08-08 21:17:16   Temp_im_Puffer_oben 46.9
     2019-08-08 21:17:16   Temp_im_Puffer_unten 30.6
     2019-08-08 21:17:16   Temp_in_Wassertasche 26.5
Attributes:
   alexaName  Kamintemperatur
   alexaRoom  Wohnzimmer
   devStateIcon on:icoZirkulationAn
   event-on-change-reading .*
   homebridgeMapping CurrentTemperature:reading=Temp_in_Wassertasche
   icon       icoHEIZUNG
   readingList Temp_in_Wassertasche Temp_im_Puffer_oben Temp_im_Puffer_unten AlarmTemperatur
   room       ALEXA,WOHNZIMMER
   setList    AlarmTemperatur
   stateFormat {ReadingsVal("LAD7","solarPump","off")}


Wo habe ich gerade einen Denkfehler?
VG+Danke
René

MadMax-FHEM

#786
Wenn nicht automatisch erkannt wird um "was" es sich handelt: genericDeviceType

EDIT2: beim Dummy fehlt auch noch setList wobei ich nicht weiß, ob das so geht... Bei einem Dummy besser, wenn die Readings für eine automatische Erkennung passen/passend heißen...

alexaRoom: nur für Custom Skill und Scenes relevant...

EDIT: "Aufschluss" gibt auch ein Blick ins alexa-fhem Log...

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

#787
Hallo,


ZitatGerät 2: Ein DummyDevice, welches ich mir gebaut habe um Temperaturwerte auszulesen
Hier habe ich auch mit dem HomebridgeMapping gearbeitet, damit ich mir die Temperatur ansagen lassen kann. Den Wert den ich brauche ist in Temp_in_Wassertasche

Da kann ich auch mal mit meinen einfachen homebridgemapping-Kentnissen helfen.

So sollte das klappen:

attr Kamin genericDeviceType thermometer
attr Kamin homebridgeMapping CurrentTemperature=Temp_in_Wassertasche



Wie ist die Temperatur von Kamintemperatur

Gruß

Thomas

fireball

Hi,

danke, mit genericDeviceType funktionieren beide Geräte. Der Kamin gibt seine Temperatur aus, aber mit
homebridgeMapping
CurrentTemperature:reading=Temp_in_Wassertasche


Muss das ":reading" mit rein oder nicht?

Der TV wird gefunden, aber läßt sich nicht mit dem HomebridgeMappings schalten.
Ein geht, nicht, da der TV gar nicht an ist und scheinbar keine Befehle offline annimmt.
Beim Ausschalten versucht er Kanal 0 zu schalten, anstatt das poweroff Kommando zu nehmen, welches ich gesetzt habe.

Komisch, direktes set poweroff im TV funktioniert allerdings.

VG +Danke
René

MadMax-FHEM

Hallo René,

list vom Device würde helfen...
...ebenso gibt (wie ja scho geschrieben) das alexa-fhem Log aufschluss.
Da steht drin was von Amazon kommt...
...und was dann daraus gemacht wird, was also an fhem weitergegeben wird...

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

Das list steht oben.




hab keine Ahnung, wenn überhaupt dann so:

homebridgeMapping On=state,cmdOn=poweron,CmdOff=poweroff

fireball

Hi Joachim,

das list stand ja 2 Post weiter oben, aber hier gern nochmal und das LogFile ist ja wirklich interessant, da kommt echt eine 0 wenn ich "Schalte Fernseher im Schlafzimmer aus" sage und ne 1 bei ein.

[2019-8-8 22:08:29] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.PowerController","name":"TurnOff","payloadVersion":"3","messageId":"f09e17b6-b28c-416d-9f36-82b996d93c89","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"1A535A34-*****"},"endpointId":"5d4c4eb9-f33f-0804-e70e-ddc56b88fdc474ef","cookie":{"fuuid":"5d4c4eb9-f33f-0804-e70e-ddc56b88fdc474ef","device":"SchlafzimmerTV"}},"payload":{}}}
[b][2019-8-8 22:08:29] [FHEM] SchlafzimmerTV: executing set cmd for On with value 0[/b]
[2019-8-8 22:08:29] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20SchlafzimmerTV%200&fwcsrf=csrf_120040747355665&XHR=1
[2019-8-8 22:08:29] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.PowerController","name":"powerState","value":"OFF","timeOfSample":"2019-08-08T20:08:29.449Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"Response","payloadVersion":"3","messageId":"da07f66b-6d00-4fb1-a285-cec0085528d6","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"1A535A34-****"},"endpointId":"5d4c4eb9-f33f-0804-e70e-ddc56b88fdc474ef"},"payload":{}}}
[2019-8-8 22:11:38] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.PowerController","name":"TurnOn","payloadVersion":"3","messageId":"003eb972-e547-4246-818f-a1adfd639a3b","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"1A535A34-0833CE779BEE0B33"},"endpointId":"5d4c4eb9-f33f-0804-e70e-ddc56b88fdc474ef","cookie":{"fuuid":"5d4c4eb9-f33f-0804-e70e-ddc56b88fdc474ef","device":"SchlafzimmerTV"}},"payload":{}}}
[b][2019-8-8 22:11:38] [FHEM] SchlafzimmerTV: executing set cmd for On with value 1[/b]
[2019-8-8 22:11:38] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20SchlafzimmerTV%20poweron&fwcsrf=csrf_120040747355665&XHR=1
[2019-8-8 22:11:38] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.PowerController","name":"powerState","value":"ON","timeOfSample":"2019-08-08T20:11:38.630Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"Response","payloadVersion":"3","messageId":"d77417cc-ddcb-4792-9b08-86af2a524fa8","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"1A535A34-0833CE779BEE0B33"},"endpointId":"5d4c4eb9-f33f-0804-e70e-ddc56b88fdc474ef"},"payload":{}}}


0 = off, 1 = on, logisch ist das schon, aber der TV braucht ein "poweroff" und "poweron"

VG
René

PS: Ganz böde Frage, ich musste dem TV oder einigen Lampen echt als Namen "Fernseher im Schlafzimmer" geben, damit das eindeutig ist.
Wenn ich aber jetzt im jeden Raum ein Device hätte, was gleich ist vom Namen her, wie ein TV oder Lampe oder Rolladen, dann dachte ich mit der Raumzuweisung und der Ansage "Alexa schalte Device in RaumXXX ein" ist das dann eindeutig. Es funktioniert aber leider nicht. Hab ich da einen Denkfehler?

MadMax-FHEM

#792
Ich daddel grad nur auf dem Handy da hat man nicht immer alles im Blick...
...außerdem könnte ja sein, dass du was geändert hast (z.B. genericDeviceType etc.)...

Es wird aber doch ein set SchlafzimmerTV poweron geschickt:

Zitat
set%20SchlafzimmerTV%20poweron

Ein:
set SchlafzimmerTV poweron
in Fhem-Web funktioniert!?

Mit Namen und Räumen (NICHT alexaRoom / eher Gruppen in der App) muss man "spielen"...

EDIT: damit's klarer wird: alexaRoom nur für Custom Skill und Szenen...

Fernseher etc. kann auch schief gegen, da Alexa oft versucht unter den Geräten einen Fernseher zu finden, evtl. auch (mal) nicht das welches Fernseher heißt... ;)

Interessant ist oft auch im "Verlauf" zu schauen was Alexa verstanden hat...

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

#793
Zitat von: MadMax-FHEM am 08 August 2019, 22:39:16
Interessant ist oft auch im "Verlauf" zu schauen was Alexa verstanden hat...

Beachte das du im Verlauf nach SchalfzimmerTV suchst und nicht SchlafzimmerTV  :P

Versuchs mal mit Schlafzimmer TV

fireball

Moinsen,

@TomLee, danke für den Tipp, zum glück habe ich den Fehler unbewusst schon ausgebaut, der alexaName ist jetzt "fernseher im schlafzimmer"

@Joachim,

wie schon geschrieben, ich glaube das Einschalten ist grundsätzlich nicht möglich, weil der TV, wenn er ausgeschaltet ist, selbst aus Fhem heraus mit set SchlafzimmerTV poweron, nichts macht.
Ist doof, aber den Fehler könnte ich noch nachvollziehen.

[2019-8-8 22:11:38] [FHEM] SchlafzimmerTV: executing set cmd for On with value 1
[2019-8-8 22:11:38] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20SchlafzimmerTV%20poweron&fwcsrf=csrf_120040747355665&XHR=1

Wenn ich das richtig interpretiere, dann wird hier an Fhem ja "set SchlafzimmerTV poweron" gesendet => was leider vom TV nicht "erkannt" wird.


Beim Ausschalten bin ich aber mehr als skeptisch, da

[2019-8-8 22:08:29] [FHEM] SchlafzimmerTV: executing set cmd for On with value 0
[2019-8-8 22:08:29] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20SchlafzimmerTV%200&fwcsrf=csrf_120040747355665&XHR=1

Wenn ich hier schaue, dann wird hier das poweroff nicht gesendet, stattdessen steht hier eine 0. Wenn ich die %20 rauslösche für die Leerzeichen, dann bleibt eine 0, wo eigentlich poweroff sein sollte.
Beim poweron funktioniert das.
set%20SchlafzimmerTV%200   => "set SchlafzimmerTV 0" => Das erklärt auch warum bei "Alexa, schalte Fernseher im Schlazimmer aus" immer versucht wird  auf Kanal 0 zu wechseln.

Ich denke hier ist das HomebridgeMapping schuld, oder?!
Meins sah so aus, laut Doku:
homebridgeMapping On:cmdOn=poweron,CmdOff=poweroff
TomLee, sein Vorschlag wäre:
homebridgeMapping On=state,cmdOn=poweron,CmdOff=poweroff

Leider hab ich nicht genug Bsp oder Erklärungen gefunden um diese Parameter richtig zu verstehen, was muss ich denn ersetzen?!
hombridgeMapping On:cmdOn=<ein>,CmdOff=<aus> (so das Bsp in der Fhem Doku)

Kann man eigentlich mehrere hombridgeMapping  kombinieren?! Son TV ist ja ein switch, aber auch media mit Kanälen und Lautstärke und ... (wobei media kann man gar nicht auswählen)

VG+Danke
Rene