Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration

Begonnen von gvzdus, 23 Dezember 2018, 15:30:36

Vorheriges Thema - Nächstes Thema

Byllyy

Ich habe auf einen neu aufgesetzten PI den Alexa Connector mit zugehöriger App aufgespielt. Die Installation lief gut und auch in der App
wurde alles Grün. Leider schaffe ich es nicht ein Gerät zu verknüpfen, dieses wird nie gefunden( Ist ein Dummy mit dem Attribut "alexaName").

Gibt es evtl ein Problem wenn man auch die alte Installation (Alexa-Fhem über Port 3000) noch aktiv auf einem anderen Pi hat.

Danke für eure Hilfe,
Byllyy


Hier noch der AlexaLog:
[2019-3-17 18:40:29] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[2019-3-17 18:40:29] os.homedir()=/opt/fhem
[2019-3-17 18:40:29] this is alexa-fhem 0.5.26
[2019-3-17 18:40:29] connecting to FHEM ...
[2019-3-17 18:40:29] [FHEM] trying longpoll to listen for fhem events
[2019-3-17 18:40:29] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1552844429962
[2019-3-17 18:40:30] [FHEM] got csrfToken: csrf_142637027820726
[2019-3-17 18:40:30] [FHEM] Checking devices and attributes...
[2019-3-17 18:40:30] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22%2C%22userattr%22%2C%22%22)%7D&fwcsrf=csrf_142637027820726&XHR=1
[2019-3-17 18:40:30] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&fwcsrf=csrf_142637027820726&XHR=1
[2019-3-17 18:40:30] [FHEM] waiting for events ...
[2019-3-17 18:40:30] [FHEM] Fetching FHEM devices...
[2019-3-17 18:40:30] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20alexaName=..*&fwcsrf=csrf_142637027820726&XHR=1
[2019-3-17 18:40:30] [FHEM] alexa device is alexa
[2019-3-17 18:40:30] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3B%7B%24defs%7Balexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20%3D%20%220.5.26%22%7D%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_142637027820726&XHR=1
[2019-3-17 18:40:30] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bget%20alexa%20proxyToken%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_142637027820726&XHR=1
[2019-3-17 18:40:30] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Blist%20alexa%20.eventToken%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_142637027820726&XHR=1
[2019-3-17 18:40:30] Server listening on: http://127.0.0.1:46579 for proxy connections
[2019-3-17 18:40:30] *** SSH: checking proxy configuration
[2019-3-17 18:40:30] sshautoconf: home=/opt/fhem, spath=/opt/fhem/.alexa, cpath=./alexa-fhem.cfg, sshpath=/opt/fhem/.ssh
[2019-3-17 18:40:30] Passed config: {"connections":[{"name":"FHEM","filter":"alexaName=..*","uid":999,"webname":"fhem","port":"8083","server":"127.0.0.1"}],"sshproxy":{"ssh":"/usr/bin/ssh","description":"FHEM Connector","options":["-i","/opt/fhem/.ssh/id_rsa","-p",58824,"fhem-va.fhem.de"],"bind-ip":"127.0.0.1","port":46579}}
[2019-3-17 18:40:30] sshautoconf: SSH key seems to exist
[2019-3-17 18:40:30] sshautoconf: Our SSH key is known at the reverse proxy, good!
[2019-3-17 18:40:30] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bjsonlist2%20alexa%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_142637027820726&XHR=1
*** FHEM: connected
[2019-3-17 18:40:30] [FHEM] got: 1 results
[2019-3-17 18:40:30] [FHEM] mySwitch1 is switch
[2019-3-17 18:40:30] [FHEM] mySwitch1 has
[2019-3-17 18:40:30] BearerToken '...CF97F' read from alexa
[2019-3-17 18:40:30] [FHEM] got .eventToken
[2019-3-17 18:40:30] refreshing token
[2019-3-17 18:40:30] 39_alexa.pm is new version: true
[2019-3-17 18:40:30] sshautoconf: completed successfully
[2019-3-17 18:40:30] *** SSH: proxy configuration set up done
[2019-3-17 18:40:30] Reading alexaFHEM.ProxyConnection set to starting;; starting SSH
[2019-3-17 18:40:30] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20starting%3B%3B%20starting%20SSH%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_142637027820726&XHR=1
[2019-3-17 18:40:30] Starting SSH with -R 1234:127.0.0.1:46579 -oServerAliveInterval=90 -i /opt/fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de
[2019-3-17 18:40:31] failed to refresh token: invalid_grant: 'The request has an invalid grant parameter : refresh_token'
[2019-3-17 18:40:31] Reading alexaFHEM.ProxyConnection set to running;; SSH connected
[2019-3-17 18:40:31] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20running%3B%3B%20SSH%20connected%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_142637027820726&XHR=1
[2019-3-17 18:40:31] *** SSH: proxy connection established
[2019-3-17 18:40:31] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated.

MadMax-FHEM

Poste doch ein list von deinem Dummy.

Hast du genericDeviceType switch (oder was anderes) und setList on off gesetzt!?

Nein eine alte Installation auf einem anderen PI ist egal.
Habe ich auch (noch) parallel auf 2 PIs laufen...

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)

Byllyy

Hier ein List vom Gerät:
Internals:
   FUUID      5c8d1b2b-f33f-ad1e-2a2e-f087fbb25c3508ce
   NAME       mySwitch1
   NR         16
   STATE      off
   TYPE       dummy
   READINGS:
     2019-03-16 17:04:02   state           off
Attributes:
   alexaName  Test
   alexaRoom  1
   genericDeviceType switch
   webCmd     on:off


Danke

MadMax-FHEM

Das Attribut setList on off fehlt:

attr mySwitch1 setList on off

Dann sollte es eigentlich gehen.

Alexa reload nicht vergessen...

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)

Byllyy

Hallo Joachim,

vielen Dank für deine schnelle Hilfe, jetzt läuft es perfekt.

Danke noch mal und einen schönen Abend,
Byllyy

FlatTV

Bei meinem ersten Test mit der Heizung, wird der Regler immer auf "1" gesetzt, statt auf den (anscheinend auch verstandenen) gewünschten Wert "21"

[24.3.2019, 10:04:19] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.ThermostatController","name":"SetTargetTemperature","payloadVersion":"3","messageId":"7fa36951-x-x-x-x","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"B6C623C9-x"},"endpointId":"5c896393-x-x-x-x","cookie":{"fuuid":"5c896393-x-x-x-x","device":"FBDECT_fbahahttp_11959_0102320"}},"payload":{"targetSetpoint":{"value":21,"scale":"CELSIUS"}}}}
[24.3.2019, 10:04:19] [FHEM] FBDECT_fbahahttp_11959_0102320: executing set cmd for TargetTemperature with value 1
[24.3.2019, 10:04:19] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20FBDECT_fbahahttp_11959_0102320%20desired-temp%201&fwcsrf=csrf_282280812424286&XHR=1
[24.3.2019, 10:04:19] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.ThermostatController","name":"targetSetpoint","value":{"value":1,"scale":"CELSIUS"},"timeOfSample":"2019-03-24T09:04:19.700Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"Response","payloadVersion":"3","messageId":"562e2d99-x-x-x-x","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"B6C623C9-x"},"endpointId":"5c896393-x-x-x-x"},"payload":{}}}


Bei dem Wert "22" wird übrigens auch versucht auf "1" zu stellen.
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

FlatTV

jupp, ist hier ähnlich. Das mit dem Mapping muss ich mir erstmal ansehen und verstehen  ::)
[24.3.2019, 10:43:32] [FHEM] mappings for FBDECT_fbahahttp_11959_0102320: { BatteryLevel: { reading: 'battery' },
  StatusLowBattery:
   { reading: 'battery',
     threshold: 20,
     values: [ '0:BATTERY_LEVEL_LOW', '1:BATTERY_LEVEL_NORMAL' ] },
  TargetTemperature:
   { reading: 'desired-temp',
     cmd: 'desired-temp',
     delay: true,
     minValue: 7.5,
     maxValue: 1,
     minStep: -7 },
  CurrentTemperature: { reading: 'temperature', minValue: -30 },
  CurrentHeatingCoolingState: { default: 'HEAT' } }
[24.3.2019, 10:43:32] [FHEM] FBDECT_fbahahttp_11959_0102320 is thermostat
[24.3.2019, 10:43:32] [FHEM] FBDECT_fbahahttp_11959_0102320 has
[24.3.2019, 10:43:32] [FHEM]   BatteryLevel [battery]
[24.3.2019, 10:43:32] [FHEM]   StatusLowBattery [battery]
[24.3.2019, 10:43:32] [FHEM]   TargetTemperature [desired-temp]
[24.3.2019, 10:43:32] [FHEM]   CurrentTemperature [temperature]
[24.3.2019, 10:43:32] [FHEM]   CurrentHeatingCoolingState [undefined]
  2019-03-24 10:43:32 caching: FBDECT_fbahahttp_11959_0102320-battery: 1 %
[24.3.2019, 10:43:32] [FHEM] value2homekit: { '0': 'BATTERY_LEVEL_LOW', '1': 'BATTERY_LEVEL_NORMAL' }
  2019-03-24 10:43:32 caching: FBDECT_fbahahttp_11959_0102320-desired-temp: 7.5
  2019-03-24 10:43:32 caching: FBDECT_fbahahttp_11959_0102320-temperature: 18.0 C (measured)
[24.3.2019, 10:43:32] [FHEM] default: HEAT
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

FlatTV

Okay, damit gehts jetzt - herzlichen Dank!

[24.3.2019, 11:08:06] [FHEM] homebridgeMapping: TargetTemperature=desired-temp,cmd=desired-temp,minValue=7.5,maxValue=28.5,minStep=0.5
[24.3.2019, 11:08:06] [FHEM] mappings for FBDECT_fbahahttp_11959_0102320: { BatteryLevel: { reading: 'battery' },
  StatusLowBattery:
   { reading: 'battery',
     threshold: 20,
     values: [ '0:BATTERY_LEVEL_LOW', '1:BATTERY_LEVEL_NORMAL' ] },
  TargetTemperature:
   { reading: 'desired-temp',
     cmd: 'desired-temp',
     delay: true,
     minValue: 7.5,
     maxValue: 28.5,
     minStep: 0.5 },
  CurrentTemperature: { reading: 'temperature', minValue: -30 },
  CurrentHeatingCoolingState: { default: 'HEAT' } }
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

FlatTV

kleine Frage m Rande...

Die Thermostate schalten bei 7.5 Grad ab.
Jetzt muss ich immer sagen "alexa schalte die Heizung im Wohnzimmer auf 7.5 Grad" um sie aus zu kriegen.

Kann man das noch irgendwie "anhübschen", dass auch "alexa schalte die Heizung im Wohnzimmer (auf) aus"  geht?
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

justme1968

du kannst versuchen im mapping noch eine passende On characterisic zu definieren. ich weiss aber nicht ob alexa/amazon damit klar kommen.

oder du legst dir eine passende routine in der alexa app an.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

FlatTV

die Routinen in der App kannte ich noch nicht  :-[

klappt alles
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

FlatTV

Hat genau einen Tag gehalten, jetzt ist die SD defekt.
Die Config habe ich noch.
Gibt es jetzt bei der ,,FHEMLAZY" Einrichtung etwas zu beachten?
Die SSH-keys werden ja sicherlich andere werden, was ist mit dem Key für die Connector Regestrierung?

Oder soll ich lieber einfach alles stumpf neu machen?
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

dadoc

Hi,
großartige Sache mit dem Skill, vielen Dank dafür!
Ich bin nun gerade dabei, meine Devices zu integrieren. U.a. habe ich zahlreiche HM-Heizkörperthermostaten, die teilweise als Stand-alone, teilweise in Gruppen von jeweils zwei über einen HM-Wandthermostat (HM-TC-IT-WM-W-EU) arbeiten. Letzteren - konkret den Climate-Kanal - nehme ich als genericDeviceType thermostat rein, und damit klappt auch die Temperaturansage, das Verstellen der Soll-Temperatur und das Ansagen der eingestellten Soll-Temperatur.
Was nicht klappt (bei anderen gem. einiger Posts hier im Thread aber schon) ist etwa "Stelle die Heizung in der Küche auf Manuell" - da sagt die Dame "Ich weiß nicht, wie ich diese Einstellung für Küche machen kann."
Muss hierfür noch ein weiterer Kanal des Thermostats konfiguriert werden?
alexa-fhem v. 0.5.24, List des Wandthermostaten anbei:

Internals:
   DEF        3679E4
   FUUID      5c7b92e9-f33f-e02c-e8a9-534e9680eaae95c3
   IODev      hmusb
   LASTInputDev hmusb
   MSGCNT     8337
   NAME       THERMOSTAT_Kueche
   NOTIFYDEV  global
   NR         498
   STATE      CMDs_done
   TYPE       CUL_HM
   channel_01 THERMOSTAT_Kueche_Weather
   channel_02 THERMOSTAT_Kueche_Climate
   channel_03 THERMOSTAT_Kueche_WindowRec
   channel_06 THERMOSTAT_Kueche_remote
   channel_07 THERMOSTAT_Kueche_SwitchTr
   hmusb_MSGCNT 8337
   hmusb_RAWMSG E3679E4,0000,4AD1263F,FF,FFC2,E484703679E400000000CF25
   hmusb_RSSI -62
   hmusb_TIME 2019-03-25 12:37:05
   lastMsg    No:E4 - t:70 s:3679E4 d:000000 00CF25
   protLastRcv 2019-03-25 12:37:05
   protRcv    8320 last_at:2019-03-25 12:37:05
   protRcvB   7 last_at:2019-03-21 08:50:03
   protSnd    10 last_at:2019-03-25 09:57:02
   protSndB   1 last_at:2019-03-25 09:57:01
   protState  CMDs_done
   rssi_at_hmusb cnt:8337 min:-79 max:-60 avg:-67.07 lst:-62
   rssi_hmusb cnt:2 min:-52 max:-52 avg:-52 lst:-52
   READINGS:
     2019-03-18 20:31:58   Activity        alive
     2019-03-25 09:57:02   CommandAccepted yes
     2018-05-02 10:08:48   D-firmware      1.2
     2018-10-28 02:10:01   D-serialNr      MEQ0235334
     2018-07-25 10:27:21   PairedTo        0x424242
     2018-05-02 17:04:06   R-burstRx       on
     2018-05-02 17:04:06   R-cyclicInfoMsg on
     2018-05-02 17:04:06   R-cyclicInfoMsgDis 0
     2018-05-02 17:04:06   R-pairCentral   0x424242
     2018-07-25 10:27:21   RegL_00.        01:01 02:01 09:01 0A:42 0B:42 0C:42 0F:00 11:00  12:16 16:00 18:00 19:00 1A:00 00:00
     2018-11-23 12:28:48   RegL_07.       
     2019-03-25 12:29:32   battery         ok
     2019-03-25 12:29:32   batteryLevel    2.7
     2019-03-25 12:29:32   desired-temp    10.0
     2019-03-25 12:29:32   measured-temp   20.7
     2018-07-25 10:27:16   powerOn         2018-07-25 10:27:16
     2018-07-25 10:27:16   recentStateType info
     2019-03-25 09:57:02   state           CMDs_done
     2019-03-25 03:04:56   time-request    -
   helper:
     HM_CMDNR   228
     PONtest    1
     cSnd       114242423679E4860414,114242423679E4860214
     mId        00AD
     peerFriend
     peerOpt    -:thermostat
     regLst     0
     rxType     6
     supp_Pair_Rep 0
     ack:
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +3679E4,00,01,00
       nextSend   1553513825.4556
       prefIO     
       rxt        0
       vccu       vccu
       p:
         3679E4
         00
         01
         00
     mRssi:
       mNo        E4
       io:
         hmusb:
           -58
           -58
     prt:
       awake      0
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       dev        1
       prs        1
     rssi:
       at_hmusb:
         avg        -67.0710087561469
         cnt        8337
         lst        -62
         max        -60
         min        -79
       hmusb:
         avg        -52
         cnt        2
         lst        -52
         max        -52
         min        -52
     shRegW:
       07         02
     tmpl:
Attributes:
   IODev      hmusb
   IOgrp      vccu
   actCycle   000:10
   actStatus  alive
   alexaName  Heizung
   autoReadReg 4_reqStatus
   event-on-change-reading .*
   expert     2_full
   firmware   1.2
   genericDeviceType thermostat
   model      HM-TC-IT-WM-W-EU
   msgRepeat  1
   room       CUL_HM,Heizung,Kueche
   serialNr   MEQ0235334
   subType    thermostat
   webCmd     getConfig:clear msgEvents

Danke & Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

dadoc

Und gleich noch eine Frage: Was ist Best Practice, wenn man mehrere HM-Rollladenaktoren pro Raum gemeinsam steuern will? Bislang habe ich das in fhem über structure gemacht, aber soweit ich das verstehe, lassen sich (als scene eingebundene) structures per Alexa nur ein- oder ausschalten, aber nicht auf pct setzen?
Die Alternative, für jeweils mehrere Aktore in Alexa eine Gruppe oder Routine/Szene zu bilden finde ich nicht so elegant.
Danke & Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods