FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: Dave90 am 22 Oktober 2020, 12:12:14

Titel: alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: Dave90 am 22 Oktober 2020, 12:12:14
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)

Titel: Antw:alexa-fhem PWMR Heizung Mapping
Beitrag von: Dave90 am 25 Oktober 2020, 16:17:03
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?
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: mr_petz am 26 Oktober 2020, 10:14:47
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
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: Dave90 am 02 November 2020, 22:52:27
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?
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: mr_petz am 03 November 2020, 09:03:39
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.
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: Dave90 am 03 November 2020, 10:28:08
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 ...
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: mr_petz am 03 November 2020, 10:45:00
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...
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: Dave90 am 03 November 2020, 11:00:08
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 ...
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: mr_petz am 03 November 2020, 11:14:10
ja bei thermometer kommen erst werte, wenn sich die temperatur ändert!
da funktioniert das nocache.
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: mr_petz am 03 November 2020, 11:15:58
jetzt nimm mal das clear wieder weg und lösche das Gerät in der App und lasse es neu finden...
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: Dave90 am 03 November 2020, 12:34:17
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.
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: MadMax-FHEM am 03 November 2020, 12:58:45
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
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: Dave90 am 03 November 2020, 13:22:45
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?

Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag 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 .*


ps. du brauchst auch eine setlist, oder sehe ich die nicht?
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: MadMax-FHEM am 03 November 2020, 13:31:35
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
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: MadMax-FHEM am 03 November 2020, 13:33:22
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
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: mr_petz am 03 November 2020, 13:42:49
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!!
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: Dave90 am 03 November 2020, 13:59:23
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.
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag 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.

Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: mr_petz am 03 November 2020, 14:24:54
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

Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: amenomade am 04 November 2020, 02:52:41
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.
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: Beta-User am 04 November 2020, 14:20:48
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 >:( .
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: mr_petz am 04 November 2020, 14:40:57
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.
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: Beta-User am 04 November 2020, 14:56:04
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)
Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: Dave90 am 04 November 2020, 20:59:41
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...

Titel: Antw:alexa-fhem Thermostat Mapping - Solltemperatur falsch
Beitrag von: mr_petz am 04 November 2020, 21:11:12
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.