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

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

Vorheriges Thema - Nächstes Thema

Amenophis86

Bei Routinen, welche eine Frage besitzen, wie antwortest du? Mit dem Alexa Modul und speak?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Reinhart

Ja genau, mit dem Echodevice Modul hier aus dem Forum.
Ich habe das mit einem Dummy Schalter gelöst, dieser wird über Alexa Spracheingabe (Frage) eingeschaltet und steuert dann eine Routine aus der 99_myUtils an. Dort wird dann beliebig zusammen gestellt was ich wünsche und der Text an Echodevice übergeben.

Hier ein Beispiel wie ich die Energieabfrage durchführe. Frage "Alexa, wie ist der Energieverbrauch"

sub currentEnergy() {
        my $Alexa_Text= "";
      my $title = (int(ReadingsVal("LS110_2", "electricityPower", "")/100))/10;
        $title =~ s/\./,/g;
        my $titleday = int(ReadingsVal("LS110_2", "electricityConsumed_EnergyDay", ""));
        my $titlespitze = int(ReadingsVal("LS110_2", "electricityConsumed_PowerDayMax", ""));
        my $titlekosten = (int(ReadingsVal("LS110_2", "electricityConsumed_EnergyCostDay", "")*10))/10;
        $titlekosten =~ s/\./,/g;
        fhem("set ECHO_G000RAXXXXXXXXX speak die Leistung beträgt $title Kw, Tageswert $titleday Kwh, die Spitze war $titlespitze Watt und die Kosten betragen $titlekosten Euro");
        return ("Leistung $title Kw Tagwert $titleday Kwh Spitze $titlespitze Watt Kosten $titlekosten €");
}


LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

SamNitro

Hallo zusammen, ich habe meine Rollos eingebunden, lassen sich über Prozent angaben auch steuern.

Würde aber auch gerne Hoch und Runter fahren lassen! Das geht aber leider nicht, Mache Rollo an/aus würde mir auch reichen!

Ich habe nur den Alexa Fhem Connector:
Internals:
   FD         20
   FUUID      5d0e2638-f33f-19ae-4e44-3382f59a0b866f64
   FVERSION   39_alexa.pm:0.190980/2019-04-02
   LAST_START 2019-06-25 12:23:12
   LAST_STOP  2019-06-25 12:23:10
   NAME       alexa
   NOTIFYDEV  global,global:npmjs.*alexa-fhem.*
   NR         1683
   NTFY_ORDER 50-alexa
   PARTIAL   
   PID        971
   STARTS     6
   STATE      running /usr/bin/alexa-fhem
   TYPE       alexa
   active     0
   alexa-fhem version 0.5.28
   currentlogfile ./log/alexa-2019-06-25.log
   logfile    ./log/alexa-%Y-%m-%d.log
   CoProcess:
     cmdFn      alexa_getCMD
     name       alexaFHEM
     state      running /usr/bin/alexa-fhem
   READINGS:
     2019-06-25 12:23:12   alexaFHEM       running /usr/bin/alexa-fhem
     2019-06-25 12:23:15   alexaFHEM.ProxyConnection running; SSH connected
     2019-06-22 14:59:37   alexaFHEM.bearerToken crypt:xxx
     2019-06-22 14:59:37   alexaFHEM.skillRegKey crypt:xxx
   helper:
Attributes:
   alexaFHEM-config ./alexa-fhem.cfg
   alexaFHEM-log ./log/alexa-%Y-%m-%d.log
   alexaMapping #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220

Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER

TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad

Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
   alexaTypes #Type=<alias>[,<alias2>[,...]]
light=licht,lampen
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
   devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop
   echoRooms  #<deviceId>=<room>

   fhemIntents #IntentName=<sample utterance>
gutenMorgen=guten morgen
guteNacht=gute nacht
   room       Fhem
   stateFormat alexaFHEM


Mein Rollo:
Internals:
   DEF        00000016
   FGW14_MSGCNT 64
   FGW14_TIME 2019-06-25 12:28:23
   FUUID      5c473506-f33f-19ae-345e-2513790823921538
   IODev      FGW14
   LASTInputDev FGW14
   MSGCNT     64
   NAME       EnO_rollo_wohnzimmer
   NR         106
   NTFY_ORDER 50-EnO_rollo_wohnzimmer
   STATE      100
   TYPE       EnOcean
   Helper:
     DBLOG:
       position:
         DBLogging:
           TIME       1561458497.00683
           VALUE      100
       state:
         DBLogging:
           TIME       1561458503.26787
           VALUE      closed
   OLDREADINGS:
   READINGS:
     2019-06-25 12:28:23   anglePos        90
     2019-06-25 12:11:25   block           unlock
     2019-06-25 12:28:23   endPosition     closed
     2019-06-25 12:28:23   position        100
     2019-06-25 12:28:23   state           closed
   helper:
Attributes:
   DbLogInclude state,position
   IODev      FGW14
   alexaName  Rollo Wohnzimmer; Rollladen Wohnzimmer
   eep        A5-3F-7F
   event-on-change-reading .*
   genericDeviceType blind
   gwCmd      blindCmd
   manufID    00D
   model      Eltako_FSB_ACK
   mqttPublish *:topic={"/out/$device/$reading"}
   mqttSubscribe *:stopic={"/in/$device/$reading"}
   room       EnOcean
   settingAccuracy high
   shutTime   19
   shutTimeCloses 35
   stateFormat position
   subDef     00100010
   subType    manufProfile
   userattr   structexclude structure_rollo_unten structure_rollo_unten_map
   webCmd     up:stop:down:position
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

MadMax-FHEM

an/aus sollte über ein entsprechendes homebridgeMapping funktionieren...

...auf/zu geht über Routinen (eine für "auf" und eine für "zu") oder (vermutlich) mittels Custom Skill...

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)

SamNitro

Routinen möchte ich nicht für alle meine Rollos machen, Custom Skill auch nicht wegen dem DWS account und allem was da zu gehört.

Aber sobald ich als "genericDeviceType blind" eintrage nimmt er an/aus nicht mehr an. Bin leider auch noch nicht so versiert homebridgeMapping zu schreiben.
Das war bisher mein test:
"hombridgeMapping On:cmdOn=up,CmdOff=down"
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

justme1968

für on und off musst du ziemlich sicher genericDeviceType auf switch setzen. ansonsten: schau im log was genau passiert.


das alexa api kennt (noch) keine rolläden.

bitte per feedback bei amazon beschweren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

FlatTV

Ich verzweifle an der Einrichtung meiner Bose Preset/Kanal Tasten.
So findet alexa nichts:
defmod alexa.channel.kueche dummy
attr alexa.channel.kueche alexaName Test
attr alexa.channel.kueche genericDeviceType media
attr alexa.channel.kueche homebridgeMapping ChannelController:reading=channel:BOSE_B0D5CCAFB416:channel,cmd=channel
attr alexa.channel.kueche room 99_System@alexa


Wenn ich das über genericDevice blind mache, so wie bei einem Thermostat, geht es eigentlich.
defmod alexa.channel.kueche dummy
attr alexa.channel.kueche alexaName Test
attr alexa.channel.kueche genericDeviceType blind
attr alexa.channel.kueche homebridgeMapping TargetTemperature=desired-temp:BOSE_B0D5CCAFB416:channel,cmd=channel,minValue=1,maxValue=6,minStep=1
attr alexa.channel.kueche room 99_System@alexa

Bei ,,alexa, stelle Test auf 5" sagt mir Alexa dann leider immer ,,Test wurde auf 5 Grad gestellt"

Findet da jemand einen Fehler?
[7.7.2019, 19:03:52] [FHEM] alexa.channel.kueche is media
[7.7.2019, 19:03:52] [FHEM] alexa.channel.kueche has
[7.7.2019, 19:03:52] [FHEM]   ChannelController [channel:BOSE_B0D5CCAFB416:channel]
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

Tueftler1983

Hallo, ich hatte 2018 alexa-fhem installiert kam dann mit den skills und so nicht zurecht und hatte dann das Modul in FHEM wieder gelöscht.

Jetzt wollte ich es wie im Wiki beschrieben wieder installieren mit dem (Alexa Skill: FHEM Connector)

Also have ich in FHEM define alexa alexa eingegeben und das attr alexaFHEM-auth User:Pass hinzugefügt.

Allerdings bekomme ich nur das Reading: alexaFHEM
running /usr/bin/alexa-fhem


Im log finde ich das:
[2019-7-9 21:04:35] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[2019-7-9 21:04:35] os.homedir()=/opt/fhem
[2019-7-9 21:04:35] this is alexa-fhem 0.5.28
[2019-7-9 21:04:35] connecting to FHEM ...
[2019-7-9 21:04:36] [FHEM] trying longpoll to listen for fhem events
[2019-7-9 21:04:36] [FHEM] starting longpoll: https://127.0.0.1:9999/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1562699076123

Was kann ich tun damit es läuft?

Esjay

Zitat von: Esjay am 29 März 2019, 15:05:24
Lösch mal im Homeverzeichniss von fhem im .ssh Ordner die Datein id_rsa und id_rsa.pub. Und starte Alexa danach nochmal durch!

Danach wieder ins Log schauen!

Grüße

Grüße

Tueftler1983

Die zwei Dateien gibt es in meinem .ssh Ordner nicht!
Da gibt es nur die Datei known_hosts

Und danke schonmal für die hilfe

Esjay

Im alexafhem.log ist wirklich nicht mehr zu finden? Guckst du auch wirklich in opt/fhem/.ssh . Aus dem Bauch würde ich fast sagen, dass evtl. noch Reste der alten Installation vorbanden sind.

Grüße

Tueftler1983

Hmm okay, werde morgen nochmal versuchen komplett neu anzufangen,
Also alles von alexa-fhem löschen und neu installieren.

Im Log steht nicht mehr und ja ich habe unter /opt/FHEM/.ssh geguckt

Tueftler1983

#747
ich scheine echt zu doof zu sein....


Habe jetzt alles von alexa.fhem deinstalliert und auch gelöscht. auch in fhem und bin dann vorgegangen wie im Wiki beschrieben aber ich komme nicht weiter, bei mir werden einfach keine Readings generiert!
ich bin schritt für schritt nach dieser anleitung vorgegangen:
https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#node.js_installieren

habe auch den Benutzer und Password für mein fhem web Port 8083 eingegeben als attribut
Muss ich in der alexa-fhem.cfg selber noch was anpassen oder mich irgendwo registrieren??

das Problem ist auch dich
durch mehrere Foren thets durch über 100 seiten durch zu suchen.

das ist alles aus dem Log wenn ich aus fhem heraus alexa neu starte

[2019-7-10 15:12:38] Got SIGTERM, shutting down alexa-fhem...
[2019-7-10 15:12:38] Reading alexaFHEM.ProxyConnection set to stopping;; alexa-fhem terminating
[2019-7-10 15:12:39] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[2019-7-10 15:12:40] os.homedir()=/opt/fhem
[2019-7-10 15:12:40] this is alexa-fhem 0.5.28
[2019-7-10 15:12:40] connecting to FHEM ...
[2019-7-10 15:12:40] [FHEM] trying longpoll to listen for fhem events
[2019-7-10 15:12:40] [FHEM] starting longpoll: https://127.0.0.1:9999/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1562764360645



edit: meine Fhem Web ist über ssl/Https geschützt kann es auch daran liegen?? dann müßte ich nen anderen port nehmen den 8084 der ist zwar über Benutzername und Password gesichert aber nicht über ssl/https

Tueftler1983

bin etwas weiter,

nachdem ich mit
alexa-fhem -D -c /opt/fhem/alexa-fhem.cfg > debug.log
alexa im debug gestartet habe wurden in fhem die Readings angelegt

alexaFHEM.ProxyConnection
running; SSH connected
2019-07-10 17:11:03
alexaFHEM.bearerToken
crypt:xxxxxx
2019-07-10 16:43:38
alexaFHEM.skillRegKey
crypt:xxxxxxxxx
2019-07-10 16:43:38


und ich konnte auch den skill aktivieren.

jetzt das große ABER wenn ich den debug modus wieder beende und aus FHEM herraus alexa starte funktioniert die verbindung wieder nicht.

können das rechte probleme sein??

kawa0815

Fhem Connector und HmIP-WTH-2 funktioniert nicht

Ich bekomme die Kombination einfach nicht in den Griff.
Meine Alexa-Fhem-Version ist die 0.5.28

Fensterkontakte und Temperaturmessungen funktionieren soweit.

Hier mal die Internals des Devices:

Internals:
   DEF        000A98A9A74B9B
   FUUID      5d2292fd-f33f-291f-d778-ef3cd9da5f5d1106
   IODev      d_ccu
   NAME       HM_TH01_WohnZ
   NR         330
   STATE      Initialized
   TYPE       HMCCUDEV
   ccuaddr    000A98A9A74B9B
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    TH01_WohnZ
   ccutype    HmIP-WTH-2
   channels   8
   statevals  devstate
   READINGS:
     2019-07-10 17:05:00   0.CONFIG_PENDING 0
     2019-07-10 16:54:53   0.DUTY_CYCLE    false
     2019-07-10 16:54:53   0.INSTALL_TEST  true
     2019-07-10 16:54:53   0.OPERATING_VOLTAGE 2.7
     2019-07-10 16:54:53   0.OPERATING_VOLTAGE_STATUS 0
     2019-07-10 17:05:00   0.RSSI_DEVICE   -65
     2019-07-10 16:54:53   0.RSSI_PEER     193
     2019-07-10 17:05:00   0.UNREACH       0
     2019-07-10 16:54:53   0.UPDATE_PENDING false
     2019-07-10 16:54:53   1.ACTIVE_PROFILE 3
     2019-07-10 16:54:53   1.ACTUAL_TEMPERATURE 24.5
     2019-07-10 16:54:53   1.ACTUAL_TEMPERATURE_STATUS 0
     2019-07-10 16:44:34   1.BOOST_MODE    0
     2019-07-10 16:54:53   1.BOOST_TIME    0
     2019-07-10 16:54:53   1.FROST_PROTECTION false
     2019-07-10 16:54:53   1.HEATING_COOLING 0
     2019-07-10 16:54:53   1.HUMIDITY      37
     2019-07-10 16:54:53   1.HUMIDITY_STATUS 0
     2019-07-10 16:54:53   1.PARTY_MODE    false
     2019-07-10 16:54:53   1.PARTY_SET_POINT_TEMPERATURE 0.0
     2019-07-10 16:54:53   1.PARTY_TIME_END
     2019-07-10 16:54:53   1.PARTY_TIME_START
     2019-07-10 16:54:53   1.QUICK_VETO_TIME 0
     2019-07-10 16:54:53   1.SET_POINT_MODE 0
     2019-07-10 16:54:53   1.SET_POINT_TEMPERATURE 12.0
     2019-07-10 16:54:53   1.SWITCH_POINT_OCCURED false
     2019-07-10 16:54:53   1.WINDOW_STATE  open
     2019-07-10 16:54:53   battery         false
     2019-07-10 16:54:53   control         12.0
     2019-07-10 17:05:00   hmstate         12.0
     2019-07-10 17:06:31   state           Initialized
   hmccu:
     devspec    000A98A9A74B9B
Attributes:
   IODev      d_ccu
   alexaName  Wohnzimmerthermostat
   ccureadingfilter .*
   controldatapoint 1.SET_POINT_TEMPERATURE
   eventMap   /datapoint 1.BOOST_MODE true:Boost/datapoint 1.CONTROL_MODE 0:Auto/datapoint 1.CONTROL_MODE 1:Manual/datapoint 1.CONTROL_MODE 2:Holiday/datapoint 1.SET_POINT_TEMPERATURE 4.5:off/datapoint 1.SET_POINT_TEMPERATURE 30.5:on/
   genericDeviceType thermostat
   homebridgeMapping clear TargetTemperature=1.SET_POINT_TEMPERATURE::1.SET_POINT_TEMPERATURE,minValue=5,maxValue=30,minStep=0.5,cmd=control,nocache=true CurrentTemperature=1.ACTUAL_TEMPERATURE CurrentHeatingCoolingState=1.SET_POINT_MODE,values=Manual:1;Holiday:2;Auto:0
   icon       hm-tc-it-wm-w-eu
   room       15_WohnZ
   stateFormat Ist: 1.ACTUAL_TEMPERATURE° Soll: 1.SET_POINT_TEMPERATURE° Feuchte: 1.HUMIDITY%
   statedatapoint 1.SET_POINT_TEMPERATURE
   stripnumber 1
   substexcl  control
   substitute SET_POINT_TEMPERATURE!#0-4.5:off,#30.5-40:on;WINDOW_STATE!(0|false):closed,(1|true):open
   webCmd     control:Boost:Auto:Manual:Holiday:on:off
   widgetOverride control:slider,4.5,0.5,30.5,1


d_CCU läuft,
CU RPC BidCos-RF  running/OK
CCU RPC HmIP-RF running/OK
CCU RPC VirtualDevices running/OK

Wenn ich Alexa nach dem Gerät suchen lasse, wird es als Thermostat gefunden, zeigt aber dann die Temperatur
mit "...0" und darunter "Benutzerdeffiniert" an. Die Solltemperatur ist nicht zu sehen.


Die Alexa-Log zum betreffenden Device:


[2019-7-10 17:06:33] [FHEM] HM_TH01_WohnZ is thermostat
[2019-7-10 17:06:33] [FHEM] HM_TH01_WohnZ has
[2019-7-10 17:06:33] [FHEM]   TargetTemperature [1.SET_POINT_TEMPERATURE]
[2019-7-10 17:06:33] [FHEM]   CurrentTemperature [1.ACTUAL_TEMPERATURE]
[2019-7-10 17:06:33] [FHEM]   CurrentHeatingCoolingState [1.SET_POINT_MODE]
  2019-07-10 17:06:33 caching: HM_TH01_WohnZ-1.ACTUAL_TEMPERATURE: 24.5
  2019-07-10 17:06:33 caching: HM_TH01_WohnZ-1.SET_POINT_MODE: 0


und:

[2019-7-10 17:16:37] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa","name":"ReportState","payloadVersion":"3","messageId":"39e80f48-2017-4ffe-9848-8b07f7ab1a90","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"bla-blaxxxxx"},"endpointId":"000A98A9A74B9B","cookie":{"fuuid":"5d2292fd-f33f-291f-d778-ef3cd9da5f5d1106","device":"HM_TH01_WohnZ"}},"payload":{}}}
[2019-7-10 17:16:37] [FHEM]     caching: TargetTemperature: 12.0 (as string; from '12.0')
[2019-7-10 17:16:37] [FHEM]     caching: CurrentTemperature: 24.5 (as string; from '24.5')
[2019-7-10 17:16:37] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.ThermostatController","name":"targetSetpoint","value":{"value":12,"scale":"CELSIUS"},"timeOfSample":"2019-07-10T15:16:37.899Z","uncertaintyInMilliseconds":500},{"namespace":"Alexa.TemperatureSensor","name":"temperature","value":{"value":24.5,"scale":"CELSIUS"},"timeOfSample":"2019-07-10T15:16:37.899Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"StateReport","payloadVersion":"3","messageId":"cd5c54ab-96fe-4faa-abe3-d5753d638d68","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"8DFE63D2-604727C1219F11B0"},"endpointId":"000A98A9A74B9B"},"payload":{}}}



Kann mir jemand helfen, Danke!