Guten Tag zusammen,
ich habe gerade den neuen fhem connector skill eingerichtet und die Grundfunktionen laufen auch schon :) Jetzt hänge ich gerade am korrekten homebridge mapping für meine Thermostate. Ich verwende das PWMR Modul für meine Fußbodenheizung.
Also Homebridgemapping habe ich folgendes definiert:
CurrentTemperature=temperature TargetTemperature=desired-temp::desired-temp,minValue=16,maxValue=28,minStep=0.5
und der genericDeviceType ist auf thermostat gesetzt.
Das Thermostat wird in alexa auch korrekt erkannt und ich kann die Solltemperatur korrekt setzen und die aktuelle Temperatur wird korrekt angezeigt.
Jedoch aktualisiert sich die Solltemperatur nicht und springt kurz nach der Einstellung in der Anzeige wieder auf den ersten Wert zurück, welcher beim Einlesen des alexa device eingestellt war.
Die Solltemperatur wird also korrekt an fhem übergeben, jedoch nicht korrekt angezeigt in der alexa app.
Hat jemand eine Idee wo der Fehler im mapping sein könnte? Das reading "desired-temp" ist korrekt und wird wie beschrieben auch korrekt in fhem gesetzt.
Habe schon die Option "nocache=1" getestet, die ich bei den homebridgemappings gelesen habe, damit lässt sich das device in der alexa app jedoch gar nicht mehr öffnen (lädt ewig und nichts passiert)
Ich nochmal. Ich habe leider noch immer keine Lösung gefunden. Kann ich evtl. noch weitere Infos zur Verfügung stellen, die bei der Analyse oder Lösung des Problems helfen würden?
Hi,
Bsp.:
TargetTemperature=desired-temp:desired-temp,minValue=16,maxValue=26,minStep=0.5,nocache=1
CurrentTemperature=temperature,nocache=1
CurrentHeatingCoolingState=<dein Reading>,values=off:0;on:1,nocache=1
TargetHeatingCoolingState=<dein Reading>,values=off:0;on:1,nocache=1
Zitat
Ich nochmal. Ich habe leider noch immer keine Lösung gefunden. Kann ich evtl. noch weitere Infos zur Verfügung stellen, die bei der Analyse oder Lösung des Problems helfen würden?
Vielleicht ein list vom Device und ein Auszug vom alexa.log wie das Device erkannt wird und was passiert beim Solltemperatur einstellen...
mfg mr_petz
Sorry für die späte Rückmeldung. Habe jetzt das alexa fhem log ausfindig gemacht. Mit deiner homebridge Konfiguration bekomme ich folgende Meldung:
[11/2/2020, 10:32:24 PM] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa","name":"ReportState","payloadVersion":"3","messageId":"4ff5fb89-9bbd-48ca-a704-ffc6e878471c","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","cookie":{"fuuid":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","device":"wz_Heizung"}},"payload":{}}}
[11/2/2020, 10:32:24 PM] [FHEM] caching: TargetTemperature: NaN (as number; from '')
[11/2/2020, 10:32:24 PM] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.ThermostatController","name":"targetSetpoint","value":{"value":null,"scale":"CELSIUS"},"timeOfSample":"2020-11-02T21:32:24.534Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"StateReport","payloadVersion":"3","messageId":"07be3182-0731-4356-944c-133bb14a4022","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b"},"payload":{}}}
[11/2/2020, 10:32:27 PM] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa","name":"ReportState","payloadVersion":"3","messageId":"da653318-c1a6-4ffa-842d-761085dc6f73","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","cookie":{"fuuid":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","device":"wz_Heizung"}},"payload":{}}}
[11/2/2020, 10:32:27 PM] [FHEM] caching: TargetTemperature: NaN (as number; from '')
[11/2/2020, 10:32:27 PM] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.ThermostatController","name":"targetSetpoint","value":{"value":null,"scale":"CELSIUS"},"timeOfSample":"2020-11-02T21:32:27.531Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"StateReport","payloadVersion":"3","messageId":"5c820b25-7d01-4b85-a233-6b0ce83d2e41","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b"},"payload":{}}}
[11/2/2020, 10:32:30 PM] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa","name":"ReportState","payloadVersion":"3","messageId":"13c2b7e8-1add-44d6-b39a-dd9561dbb962","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","cookie":{"fuuid":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","device":"wz_Heizung"}},"payload":{}}}
[11/2/2020, 10:32:30 PM] [FHEM] caching: TargetTemperature: NaN (as number; from '')
[11/2/2020, 10:32:30 PM] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.ThermostatController","name":"targetSetpoint","value":{"value":null,"scale":"CELSIUS"},"timeOfSample":"2020-11-02T21:32:30.550Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"StateReport","payloadVersion":"3","messageId":"e84c2740-e07f-4304-b4ba-a1f181dbe36f","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b"},"payload":{}}}
Ein
list wz_heizung
ergibt:
ZitatInternals:
ACTOR wz_heizung_aktor
DEF PWM_Heizung 1,0.11 wz_TempSensor wz_heizung_aktor
FUUID 5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b
INTERVAL 300
IODev PWM_Heizung
NAME wz_Heizung
NR 127
STATE Calculating
TEMPSENSOR wz_TempSensor
TYPE PWMR
WINDOW
a_regexp_on on
actor wz_heizung_aktor
c_PID_useit 0
c_autoCalcTemp 1
c_desiredTempFrom
c_factor 1
c_foffset 0.11
c_frostProtect 0
c_tempC 22
c_tempD 20
c_tempE 17
c_tempFrostProtect 6
c_tempN 18
c_tempRule1 1-5 0600,C 0900,C 1700,C 2200,N
c_tempRule2 6-0 0700,D 1600,C 2355,N
c_tempRule3
c_tempRule4
c_tempRule5
c_tempRuleS N
p_actor wz_heizung_aktor
p_factor 1,0.11
p_pid
p_tsensor wz_TempSensor
p_window
t_reading temperature
t_regexp ([\d\.]+)
t_sensor wz_TempSensor
w_regexp .*[Oo]pen.*
windows
READINGS:
2020-11-02 22:49:08 PWMOnTime 00:00
2020-11-02 22:49:08 PWMPulse 0
2020-10-31 20:04:09 actorState off
2020-11-02 22:45:20 desired-temp 18.0
2020-10-27 23:55:57 desired-temp-until no
2020-11-02 22:49:08 desired-temp-used 18.0
2020-11-02 22:49:08 energyused 000000000000000000000000000000
2020-11-02 22:49:08 energyusedp 0.0
2020-10-31 20:04:09 lastswitch 1604171049
2020-10-13 12:24:58 manualTempDuration 240
2020-11-02 22:49:08 oldpulse 0.11
2020-11-02 22:45:20 state Calculating
2020-11-02 22:49:08 temperature 22.35
2020-10-29 20:44:47 timer1_Mo 06:00-09:00,C,22 09:00-17:00,C,22 17:00-22:00,C,22
2020-10-29 20:44:47 timer2_Di 06:00-09:00,C,22 09:00-17:00,C,22 17:00-22:00,C,22
2020-10-29 20:44:47 timer3_Mi 06:00-09:00,C,22 09:00-17:00,C,22 17:00-22:00,C,22
2020-10-29 20:44:47 timer4_Do 06:00-09:00,C,22 09:00-17:00,C,22 17:00-22:00,C,22
2020-10-29 20:44:47 timer5_Fr 06:00-09:00,C,22 09:00-17:00,C,22 17:00-22:00,C,22
2020-10-29 20:44:47 timer6_Sa 07:00-16:00,D,20 16:00-23:55,C,22
2020-10-29 20:44:47 timer7_So 07:00-16:00,D,20 16:00-23:55,C,22
helper:
Attributes:
alexaName heizung wohnzimmer
alias Heizung Wohnzimmer
autoCalcTemp 1
event-on-change-reading actorState
genericDeviceType thermostat
homebridgeMapping TargetTemperature=desired-temp:desired-temp,minValue=16,maxValue=26,minStep=0.5,nocache=1
CurrentTemperature=temperature,nocache=1
room 002 Wohnzimmer,005 Wohnung,Heizung,Homekit
tempCosy 22
tempDay 20
tempEnergy 17
tempNight 18
tempRule1 Mo-Fr 6:00,C 9:00,C 17:00,C 22:00,N
tempRule2 Sa-So 07,D 16,C 23:55,N
Das log meldet ja
caching: TargetTemperature: NaN (as number; from '')
also wird der float anscheinend nicht korrekt übergeben, ich habe jedoch keine Idee warum ...
Edit:
Mit folgendem Mapping erhalte ich den NaN Fehler nicht mehr, allerdings steht in der Alexa App nur "Ein Problem ist aufgetetreten", wenn ich das device aufrufe. Das log gibt aus:
Mapping:
TargetTemperature=desired-temp,minValue=16,maxValue=26,minStep=0.5,nocache=1
CurrentTemperature=temperature,nocache=1
Log:
[11/2/2020, 11:02:15 PM] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa","name":"ReportState","payloadVersion":"3","messageId":"ab4eeb99-c3f1-4c4d-8c07-3fde015122ef","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","cookie":{"fuuid":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","device":"wz_Heizung"}},"payload":{}}}
[11/2/2020, 11:02:15 PM] <<<< [ssh] {"context":{"properties":[]},"event":{"header":{"namespace":"Alexa","name":"StateReport","payloadVersion":"3","messageId":"d8b4515a-d052-40c5-9777-edfab8e9544a","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b"},"payload":{}}}
[11/2/2020, 11:02:18 PM] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa","name":"ReportState","payloadVersion":"3","messageId":"da73f7d3-54e2-496d-9b17-edcc81bf981c","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","cookie":{"fuuid":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","device":"wz_Heizung"}},"payload":{}}}
[11/2/2020, 11:02:18 PM] <<<< [ssh] {"context":{"properties":[]},"event":{"header":{"namespace":"Alexa","name":"StateReport","payloadVersion":"3","messageId":"044ed633-a4a6-4cb7-9bb5-f3d581796b62","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b"},"payload":{}}}
[11/2/2020, 11:02:30 PM] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa","name":"ReportState","payloadVersion":"3","messageId":"1cc8def1-901c-4951-9ed2-c63a931ae468","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","cookie":{"fuuid":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","device":"wz_Heizung"}},"payload":{}}}
[11/2/2020, 11:02:30 PM] <<<< [ssh] {"context":{"properties":[]},"event":{"header":{"namespace":"Alexa","name":"StateReport","payloadVersion":"3","messageId":"e175c2c0-3226-4059-bf2d-ceabc245e179","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b"},"payload":{}}}
Ok Edit2:
Also mit folgendem Mapping funktioniert wie gesagt alles soweit, nur dass mir nicht die korrekte desired temperature angezeigt wird:
Mapping:
TargetTemperature=desired-temp,minValue=16,maxValue=26,minStep=0.5
CurrentTemperature=temperature
Logisch wäre für mich dann eben nocache zu setzen um das Problem zu lösen. Jedoch führt sowohl nocache=1 als auch nocache=true wieder dazu, dass nichts mehr übergeben wird und ich den NaN Fehler erhalte... Hat sich da evtl. was an der Syntax geändert?
gib mal noch das mit:
CurrentHeatingCoolingState=actorState,values=off:OFF;on:HEAT,nocache=1
TargetHeatingCoolingState=actorState,values=off:OFF;on:HEAT,nocache=1
oder
CurrentHeatingCoolingState=actorState,values=OFF:off;HEAT:on,nocache=1
TargetHeatingCoolingState=actorState,values=OFF:off;HEAT:on,nocache=1
oder
CurrentHeatingCoolingState=actorState,values=off:0;on:1,nocache=1
TargetHeatingCoolingState=actorState,values=off:0;on:1,nocache=1
und zeige mal bitte wie dein thermostat im alexa.log erkannt wird.
Hey, danke für deine schnelle Rückmeldung.
Habe alle Varianten getestet. Leider immer mit dem gleichen Ergebnis. Die states werden generell korrekt erkannt, wenn ich folgendes setze:
TargetTemperature=desired-temp,minValue=16,maxValue=26,minStep=0.5
CurrentTemperature=temperature
CurrentHeatingCoolingState=actorState,values=off:OFF;on:HEAT
TargetHeatingCoolingState=actorState,values=off:OFF;on:HEAT
Die Ausgabe ist dann:
[11/3/2020, 10:25:03 AM] [FHEM] wz_Heizung is thermostat
[11/3/2020, 10:25:03 AM] [FHEM] wz_Heizung has
[11/3/2020, 10:25:03 AM] [FHEM] TargetTemperature [desired-temp]
[11/3/2020, 10:25:03 AM] [FHEM] CurrentTemperature [temperature]
[11/3/2020, 10:25:03 AM] [FHEM] CurrentHeatingCoolingState [actorState]
[11/3/2020, 10:25:03 AM] [FHEM] TargetHeatingCoolingState [actorState]
Allerdings werden sobald ich nocache=1 setze keine Daten in der App angezeigt sondern nur "Es ist ein Problem aufgetreten". Auch im Log wird dann nichts mehr angezeigt außer die folgenden Meldungen:
[11/3/2020, 10:18:10 AM] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa","name":"ReportState","payloadVersion":"3","messageId":"e56025c5-f35b-4ebc-8d60-6290b2f8d0dd","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","cookie":{"fuuid":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","device":"wz_Heizung"}},"payload":{}}}
Wenn ich nocache=1 weglasse, erhalte ich zum Beispiel beim ändern der Temperatur in der App folgenden output:
[11/3/2020, 10:31:29 AM] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa","name":"ReportState","payloadVersion":"3","messageId":"d8789442-0764-4032-91b6-682c08872b53","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F6FE35CD-0255E673EFCD99DE"},"endpointId":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","cookie":{"fuuid":"5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b","device":"wz_Heizung"}},"payload":{}}}
[11/3/2020, 10:31:29 AM] [FHEM] caching: TargetTemperature: 23.5 (as number; from '23.5')
[11/3/2020, 10:31:29 AM] [FHEM] caching: TargetHeatingCoolingState: HEAT (as string; from 'on')
[11/3/2020, 10:31:29 AM] [FHEM] caching: CurrentTemperature: 22.79 (as number; from '22.79')
Allerdings sind das eben nicht die korrekten Werte sondern welche aus dem Cache. Die aktuelle Temperatur habe ich über die App nämlich gerade auf 23.5 °C gesetzt und das wurde auch korrekt in Fhem verarbeitet und gesetzt. Auch die CurrentTemperature ist nicht aktuell, sondern vom Zeitpunkt der letzten Änderung des Homebridge mappings ...
Aus irgendeinem Grund funktioniert also nocache=1 nicht, aber ich habe keine Ahnung warum ...
du kannst mal noch ein clear davor setzen
clear
TargetTemperature=desired-temp,minValue=16,maxValue=26,minStep=0.5,nocache=1
CurrentTemperature=temperature,nocache=1
CurrentHeatingCoolingState=actorState,values=off:OFF;on:HEAT,nocache=1
TargetHeatingCoolingState=actorState,values=off:OFF;on:HEAT,nocache=1
und das thermostat in der APP löschen und neu suchen lassen...
Mit dem von dir gezeigten Mapping wird das Gerät jetzt nicht mehr als Thermostat sondern als Sensor erkannt, da es angeblich keine TargetTemperature mitliefert.
Log:
[11/3/2020, 10:56:48 AM] [FHEM] wz_Heizung is thermostat
[11/3/2020, 10:56:48 AM] [FHEM] wz_Heizung is NOT a thermostat. set command for target temperature missing:
[11/3/2020, 10:56:48 AM] [FHEM] wz_Heizung has
[11/3/2020, 10:56:48 AM] [FHEM] CurrentTemperature [temperature]
[11/3/2020, 10:56:48 AM] [FHEM] CurrentHeatingCoolingState [actorState]
[11/3/2020, 10:56:48 AM] [FHEM] TargetHeatingCoolingState [actorState]
[11/3/2020, 10:56:48 AM] [FHEM] wz_Heizung will not send proactive events
[11/3/2020, 10:56:48 AM] [FHEM] wz_Heizung uses ID: 5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b
In der App zeigt dieser aber auch keine Werte an, sondern wird als "nicht verfügbar" angezeigt ...
ja bei thermometer kommen erst werte, wenn sich die temperatur ändert!
da funktioniert das nocache.
jetzt nimm mal das clear wieder weg und lösche das Gerät in der App und lasse es neu finden...
Also das Thermostat hat auch nach 1h (und Änderung der Temperatur in fhem) keinen Wert angezeigt. Nachdem ich clear gelöscht habe set alexa restart
ausgeführt habe, das device in alexa gelöscht und neu hinzugefügt habe, erhalte ich leider das gleiche Fehlerbild wie vorher mit nocache=1.
Gerät und die Readings werden korrekt erkannt, liefern jedoch keine Werte und in der Alexa App wird "Ein Problem ist aufgetreten" angezeigt.
Hier nochmal der Output beim einlesen des devices in alexa:
[11/3/2020, 12:25:29 PM] [FHEM] wz_Heizung is thermostat
[11/3/2020, 12:25:29 PM] [FHEM] wz_Heizung has
[11/3/2020, 12:25:29 PM] [FHEM] TargetTemperature [desired-temp]
[11/3/2020, 12:25:29 PM] [FHEM] CurrentTemperature [temperature]
[11/3/2020, 12:25:29 PM] [FHEM] CurrentHeatingCoolingState [actorState]
[11/3/2020, 12:25:29 PM] [FHEM] TargetHeatingCoolingState [actorState]
[11/3/2020, 12:25:29 PM] [FHEM] wz_Heizung will not send proactive events
[11/3/2020, 12:25:29 PM] [FHEM] wz_Heizung uses ID: 5c8cde17-f33f-28e8-559b-fddc53dbe7cc8e4b
Edit:
Ich stelle aber gerade fest, dass dies ein generelles Problem des alexa-fhem devices zu sein scheint.
Bei Schaltern habe ich das gleiche Verhalten: Wenn ich den Schalter einschalte, wird das Gerät korrekt eingeschaltet, der State in der Alexa App springt jedoch nach kurzer Zeit auch wieder auf "Aus". Das Problem beschränkt sich also nicht nur auf die Heizung.
Zitat von: Dave90 am 03 November 2020, 12:34:17
Edit:
Ich stelle aber gerade fest, dass dies ein generelles Problem des alexa-fhem devices zu sein scheint.
Bei Schaltern habe ich das gleiche Verhalten: Wenn ich den Schalter einschalte, wird das Gerät korrekt eingeschaltet, der State in der Alexa App springt jedoch nach kurzer Zeit auch wieder auf "Aus". Das Problem beschränkt sich also nicht nur auf die Heizung.
Aber wenn dann nur von DEINEM alexa-fhem.
Bei mir bleibt der Zustand...
...egal, ob ich in fhem oder in der Alexa-App schalte...
Welche Version von alexa-fhem läuft bei dir?
Verwendest du den alexa-fhem Connector?
Der dummy macht es (bei MIR) auf jeden Fall mal korrekt (Raw Definition):
defmod dmTest dummy
attr dmTest alexaName Test
attr dmTest genericDeviceType switch
attr dmTest setList on off
Gruß, Joachim
Hey,
wollte damit auch nicht das generelle alexa-fhem device in Frage stellen ;)
Ja ich benutze den Connector in der Version 0.5.55
Hier ein list device vom alexa device:
Internals:
FD 24
FUUID 5f912c4a-f33f-28e8-2b40-268def1d80b9975e
FVERSION 39_alexa.pm:0.216510/2020-04-12
LAST_START 2020-11-03 12:25:28
LAST_STOP 2020-11-03 12:25:28
NAME alexa
NOTIFYDEV global,global:npmjs.*alexa-fhem.*
NR 215
NTFY_ORDER 50-alexa
PARTIAL
PID 3951
STARTS 22
STATE running /usr/bin/alexa-fhem
TYPE alexa
active 0
alexa-fhem version 0.5.55
currentlogfile ./log/alexa-2020-11-03.log
logfile ./log/alexa-%Y-%m-%d.log
CoProcess:
cmdFn alexa_getCMD
name alexaFHEM
state running /usr/bin/alexa-fhem
READINGS:
2020-11-03 12:25:28 alexaFHEM running /usr/bin/alexa-fhem
2020-11-03 12:25:29 alexaFHEM.ProxyConnection running; SSH connected
2020-10-23 12:19:37 alexaFHEM.bearerToken crypt:xxxxxxxxxxxx
2020-10-23 12:19:37 alexaFHEM.skillRegKey crypt:xxxxxxxxxxxx
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
persons #<personId>=<name>
room 010 Hubs etc.,Amazon
stateFormat alexaFHEM
Tatsächlich klappt es mit dummy switch bei mir auch. Mit anderen Switch Geräten (z.B. einem MQTT device) klappt es nicht, hier kann jedoch auch setList nicht gesetzt werden.
Einfachste Möglichkeit wäre dann wohl ein dummy device zu erstellen, welches die Heizung nach von FHEM zu Alexa spiegelt. Oder habt ihr noch eine andere Idee?
was mir noch ein- bzw. auffällt, was wir noch ändern könnten ist:
event-on-change-reading actorState
da wird nur eine Änderung von on bzw off bei einem event übergeben.
änder mal in:
event-on-change-reading .*
ps. du brauchst auch eine setlist, oder sehe ich die nicht?
Ich würde mal den Krypt-Key raus nehmen!
Und bzgl. MQTT mal einen Thread suchen, soweit ich im Kopf habe "bastelt" Beta-User gerade (an dieser "Baustelle") rum...
...bzw. habe ich im Kopf, über sowas in irgendeinem Thread hier shon drüber gestolpert...
Den "Umweg" über dummy etc. sollte (muss) man vermeiden!
Gruß, Joachim
Zitat von: mr_petz am 03 November 2020, 13:31:21
was mir noch ein- bzw. auffällt, was wir noch ändern könnten ist:
event-on-change-reading actorState
da wird nur eine Änderung von on bzw off bei einem event übergeben.
änder mal in:
event-on-change-reading .*
bei event-on-change-reading .* wir bei JEDEM Reading ein Event nur bei Änderung erzeugt!!
Also "noch schlimmer" als es auf bestimmte Readings einzuschränken...
Wenn man mehr Events will/braucht, dann das Attribut mal ganz löschen!
(oder event-on-update-reading entsprechend setzen oder event-min-interval etc.)
Gruß, Joachim
Zitat von: MadMax-FHEM am 03 November 2020, 13:33:22
bei event-on-change-reading .* wir bei JEDEM Reading ein Event nur bei Änderung erzeugt!!
soll ja erst mal nur zum testen sein!
ist mir schon klar für was es steht.
Und bei mqtt muss glaube noch ein publishSet mit rein.
Und halt die setlist.
Ja und den Krypt-Key im Beitrag vom list alexa-device raus löschen!!
Danke! Crypt key habe ich rausgelöscht.
Das setList attribut gibt es sowohl bei dem Heizungsdevice als auch bei dem mqtt device nicht. Muss/Kann man das händisch anlegen? Brauchte ich bisher noch nicht.
Evtl. ne blöde Frage...:
Die einzelnen homebridge mappings sind über enter getrennt (also new line), oder? Ich arbeite über das attr textfeld/poup.
Zitat von: Dave90 am 03 November 2020, 13:59:23
Das setList attribut gibt es sowohl bei dem Heizungsdevice als auch bei dem mqtt device nicht. Muss/Kann man das händisch anlegen? Brauchte ich bisher noch nicht.
ja musst du unter attr setlist händisch anlegen.
Bsp.:
setList: slider,10,0.5,30
hier ein link zum slider:
https://forum.fhem.de/index.php?topic=15086.0
Zitat von: Dave90 am 03 November 2020, 14:09:42
Evtl. ne blöde Frage...:
Die einzelnen homebridge mappings sind über enter getrennt (also new line), oder? Ich arbeite über das attr textfeld/poup.
ja ist ok
ZitathomebridgeMapping TargetTemperature=desired-temp:desired-temp,minValue=16,maxValue=26,minStep=0.5,nocache=1
desired-temp:desired-temp ist auf jeden Fall falsch. Deswegen
Zitatwz_Heizung is NOT a thermostat. set command for target temperature missing
Es muss desired-temp::desired-temp sein.
PWMR kalkuliert viele Sachen automatisch. Eine Frage wäre: wie bewegt sich das Reading desired-temp kurz nach einem set desired-temp Kommando?
Und dann wäre die alexa-fhem Log - mit korrektem Mapping und mit korrektem event-on-change-reading - interessant zu sehen.
Zitat von: MadMax-FHEM am 03 November 2020, 13:31:35
Und bzgl. MQTT mal einen Thread suchen, soweit ich im Kopf habe "bastelt" Beta-User gerade (an dieser "Baustelle") rum...
Im Moment "bastle" ich eigentlich nicht an den Sprachsteuerungs-Themen rum, ich war nur jüngst über "Color"-Fragen bei Tasmota@MQTT2_DEVICE gestolpert.
Allerdings ist @betateilchen gestern (?) über was komisches gestolpert, aber das ist vermutlich eine ganz andere Baustelle: https://forum.fhem.de/index.php/topic,115475.0.html (https://forum.fhem.de/index.php/topic,115475.0.html)
ZitatDen "Umweg" über dummy etc. sollte (muss) man vermeiden!
Fully agreed!
Vielleicht zu dem hier noch eine Anmerkung:
Zitat von: mr_petz am 03 November 2020, 14:24:54
ja musst du unter attr setlist händisch anlegen.
"Eigentlich" sollten alle Sprachsteuerungen automatisch anhand der setter erkennen können, "was geht". Bei MQTT_DEVICE wird das aber anders gefüllt, nicht wie bei dummy und MQTT2_DEVICE über setList, sondern über publishSet bzw. publishSet_<reading> (siehe cref):
publishSet on off switch:on,off level:slider,0,1,100 /topic/123
publishSet_<reading> [<values>]* <topic>
Will man direkt am MQTT_DEVICE einen slider haben, geht das übrigens in der "publishSet_<reading>-Variante" ggf. mit widgetOverride, auch dafür braucht es keinen dummy...
Aber - mal wieder - ohne ein list des eigentlichen Devices in Gänze ist das alles ein schauriges Rumgerate >:( .
Zitat von: Beta-User am 04 November 2020, 14:20:48
Vielleicht zu dem hier noch eine Anmerkung:"Eigentlich" sollten alle Sprachsteuerungen automatisch anhand der setter erkennen können, "was geht". Bei MQTT_DEVICE wird das aber anders gefüllt, nicht wie bei dummy und MQTT2_DEVICE über setList, sondern über publishSet bzw. publishSet_<reading>
ja hatte ich auch schon angedacht siehe oben.
Zitat von: mr_petz am 03 November 2020, 13:42:49
Und bei mqtt muss glaube noch ein publishSet mit rein.
Und halt die setlist.
in meinem ebusd_mqtt2 device (als thermostat eingebunden, ohne dummys) brauchte ich wie du sagst kein publishSet zur Sprachsteuerung nur das setlist.
Zitat von: mr_petz am 04 November 2020, 14:40:57
in meinem ebusd_mqtt2 device (als thermostat eingebunden, ohne dummys) brauchte ich wie du sagst kein publishSet zur Sprachsteuerung nur das setlist.
Sorry for going OT:
Die ebus-Geschichte ist mal entstanden, bevor das mit der Sprachsteuerung dazukam. "Eigentlich" glaube ich immer noch, dass die heutigen attrTemplate für ebus noch verbesserungsfähig sind, grade was "standardisierte Reading-Namen" und Einbindung in Sprachsteuerung angeht.
Hier hatte ich dazu mal "Hilfe" gerufen, ohne dass bisher Rückmeldung erfolgt wäre:
Zitat von: Beta-User am 28 Juni 2020, 08:59:13
Aber wenn ich mir das so anschaue, ist das irgendwie gefühlt "noch nicht fertig", oder täuscht mich das?
Was die Namensvergabe des Readings (bzw. allg. der setter und (etwas weniger) der getter, sofern die wirklich unterscheidlich sein müssen (denke eigentlich nicht?)) angeht, bin ich auch nicht wirklich zufrieden. Eigentlich müßte man das mMn. ähnlich angehen wie im AV-Bereich und sowas wie standardisierte (englische) Readingnamen einführen.
Würe hier evtl. zu heatCurve führen, hat man mehrere, müßte man eben für jede je ein eigenes Device generieren und den Rest mittels "jsonMap xy:0" ausblenden.
Wie dem auch sei, im Moment weiß ich noch nicht so recht, wie ich mit der Info weitermachen kann. Hier wäre es wirklich gut, einen kompletten Vorschlag zu haben...
Vielleicht magst du den Ball aufgreifen und in dem verlinkten Thread mal aufzeigen, wie du das konkret gemacht hast. Würde es "Nachahmern" und Neueinsteigern leichter machen, und grade ist eine V3 des Adapters am Anlaufen...
(Es ist nicht so kompliziert mit den attrTemplate, wie es eventuell ausschaut, keine Sorge)
Vielen Dank für die vielen Antworten und sorry, dass es ein wenig gedauert hat mit der Rückmeldung.
Also das Problem lag tatsächlich an dem event-on-change-reading actorState
. Nachdem ich das entfernt habe, funktioniert setzen und auslesen der Temperaturen ohne Probleme, auch ohne den nocache=1 Befehl. Das derzeitige mapping sieht also wie folgt aus:
TargetTemperature=desired-temp,minValue=16,maxValue=26,minStep=0.5
CurrentTemperature=temperature
CurrentHeatingCoolingState=actorState,values=off:OFF;;on:HEAT
TargetHeatingCoolingState=actorState,values=off:OFF;;on:HEAT
Das einzige was mich wundert ist, dass in der Alexa App immer "Wärme" als Status angezeigt wird, auch wenn der actorState off korrekt in OFF gemapped wird und auch im log erkannt wird.
Beispiel für off:
[11/4/2020, 10:55:30 AM] [FHEM] caching: TargetTemperature: 21.5 (as number; from '21.5')
[11/4/2020, 10:55:30 AM] [FHEM] caching: TargetHeatingCoolingState: OFF (as string; from 'off')
[11/4/2020, 10:55:30 AM] [FHEM] caching: CurrentTemperature: 21.97 (as number; from '21.97')
Beispiel für on:
[11/4/2020, 8:39:33 PM] [FHEM] caching: CurrentTemperature: 22.01 (as number; from '22.01')
2020-11-04 20:42:33 caching: sz_Heizung-temperature: 21.49
[11/4/2020, 8:42:33 PM] [FHEM] caching: CurrentTemperature: 21.49 (as number; from '21.49')
2020-11-04 20:42:33 caching: sz_Heizung-actorState: on
[11/4/2020, 8:42:33 PM] [FHEM] caching: CurrentHeatingCoolingState: HEAT (as string; from 'on')
[11/4/2020, 8:42:33 PM] [FHEM] caching: TargetHeatingCoolingState: HEAT (as string; from 'on')
Bzgl. dem mqtt device: Das mit dem slider ist irgendwie durcheinander gegangen. Ich wollte gar keinen Slide implemtieren. Mir war nur aufgefallen, dass bei den mqtt devices eben auch der Status nicht korrekt in alexa synchronisiert wurde. Das die mqtt devices nicht funktioniert haben, lag tasächlich auch an dem event-on-change-reading Attribut. Diese funktionieren nun auch :)
Bleibt aslo als letzte Baustelle nur noch der State (HEAT, COOL, OFF) beim thermostat...
siehe hier:
https://forum.fhem.de/index.php/topic,110531.0.html (https://forum.fhem.de/index.php/topic,110531.msg1080791.html)
leider will justme1968 das nicht ändern...
Edit: Link geändert.