Hi,
zunächst mal ein Kompliment, wie einfach die Einrichtung von statten geht. Anleitung im Wiki befolgt und wenige Minuten später konnte ich die Temperatur im Büro abfragen. Nice.
Leider habe ich beim setzen der Temperatur ein Problem:
Alexa, stell die Heizung im Büro auf 21 Grad
wird entgegengenommen und quittiert mit der Ausgabe
Heizung im Büro ist auf 7 Grad gestellt
In der Tat wurde für mein PWMR-Device die desired-temp korrekt auf 7.0 Grad gestellt. Das ist bei den aktuellen Außentemperaturen nicht so ganz im Sinne des Erfinders.
Im Logfile wird der Vorgang wie folgt protokolliert:
[2019-1-31 17:49:48] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.ThermostatController","name":"SetTargetTemperature","payloadVersion":"3","messageId":"b0591345-445e-42d6-b16e-f97a2132177f","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"E5018686-D01A01A6F92124CB"},"endpointId":"5c4613c9-f33f-9b5f-1260-7c5a2fdb31e939ce","cookie":{"fuuid":"5c4613c9-f33f-9b5f-1260-7c5a2fdb31e939ce","device":"OF.ELW.PWMR"}},"payload":{"targetSetpoint":{"value":21,"scale":"CELSIUS"}}}}
[2019-1-31 17:49:48] [FHEM] OF.ELW.PWMR: executing set cmd for TargetTemperature with value 7
[2019-1-31 17:49:48] [FHEM] executing: http://127.0.0.1:8083/fhem?cmd=set%20OF.ELW.PWMR%20desired-temp%207&fwcsrf=csrf_577880214966604&XHR=1
[2019-1-31 17:49:48] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.ThermostatController","name":"targetSetpoint","value":{"value":7,"scale":"CELSIUS"},"timeOfSample":"2019-01-31T16:49:48.621Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"Response","payloadVersion":"3","messageId":"2819de18-62c7-4254-89fb-fab2630a2179","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"E5018686-D01A01A6F92124CB"},"endpointId":"5c4613c9-f33f-9b5f-1260-7c5a2fdb31e939ce"},"payload":{}}}
Man sieht, dass als "value":21 der richtige Wert erkannt wurde - um dann von Geisterhand auf 7.0 Grad zu wechseln.
Ein Verbose=4 auf dem Alexa-Device hat keine Logeinträge gebracht.
Hier noch ein List des PWMR-Devices:
Internals:
ACTOR OF.ELW.FBH
DEF FBH.COMF.PWM 1 OF.ELW.LF OF.ELW.FBH OF1.ELW.SC,OF2.ELW.SC:.*[Oo]pen.* 1:0.8:0.4,5:0.5,10
FUUID 5c4613c9-f33f-9b5f-1260-7c5a2fdb31e939ce
INTERVAL 300
IODev FBH.COMF.PWM
NAME OF.ELW.PWMR
NR 198
STATE ManualSetUntil 19:55:00
TEMPSENSOR OF.ELW.LF
TYPE PWMR
WINDOW OF1.ELW.SC,OF2.ELW.SC:.*[Oo]pen.*
a_regexp_on on
actor OF.ELW.FBH
c_PID_DFactor 0.5
c_PID_DLookBackCnt 10
c_PID_IFactor 0.4
c_PID_ILookBackCnt 5
c_PID_PFactor 0.8
c_PID_useit 1
c_autoCalcTemp 1
c_desiredTempFrom
c_frostProtect 0
c_tempC 23
c_tempD 20.5
c_tempE 19
c_tempFrostProtect 16
c_tempN 19.5
c_tempRule1 1-5 0600,D 2200,N
c_tempRule2 6-0 0800,D 2200,N
c_tempRule3
c_tempRule4
c_tempRule5
h_deltaTemp -0.8
h_deltaTemp_D -0.8
p_actor OF.ELW.FBH
p_factor 1
p_pid 1:0.8:0.4,5:0.5,10
p_tsensor OF.ELW.LF
p_window OF1.ELW.SC,OF2.ELW.SC:.*[Oo]pen.*
t_reading temperature
t_regexp ([\d\.]+)
t_sensor OF.ELW.LF
w_regexp .*[Oo]pen.*
windows OF1.ELW.SC,OF2.ELW.SC
Helper:
DBLOG:
actorState:
dblog:
TIME 1548953648.87856
VALUE off
desired-temp:
dblog:
TIME 1548953648.8564
VALUE 21.0
READINGS:
2019-01-31 17:59:27 PID_DVal 0.00
2019-01-31 17:59:27 PID_IVal 1
2019-01-31 17:59:27 PID_PVal 0.64
2019-01-31 17:59:27 PID_PWMOnTime 12:45
2019-01-31 17:59:27 PID_PWMPulse 85
2019-01-31 17:56:28 actorState on
2019-01-31 17:55:00 desired-temp 21.0
2019-01-31 17:55:00 desired-temp-until 2019-01-31 19:55:00
2019-01-31 17:59:27 desired-temp-used 21.0
2019-01-31 17:59:28 energyused 111111111111111111110000001111
2019-01-31 17:59:28 energyusedp 80.0
2019-01-31 17:56:28 lastswitch 1548953788
2018-10-26 14:17:44 manualTempDuration 120
2019-01-31 17:59:27 oldpulse 0.6246
2019-01-31 17:55:00 state ManualSetUntil 19:55:00
2019-01-31 17:59:27 temperature 20.2
2019-01-29 10:24:08 timer1_Mo 06:00-22:00,D,20.5
2019-01-29 10:24:08 timer2_Di 06:00-22:00,D,20.5
2019-01-29 10:24:08 timer3_Mi 06:00-22:00,D,20.5
2019-01-29 10:24:08 timer4_Do 06:00-22:00,D,20.5
2019-01-29 10:24:08 timer5_Fr 06:00-22:00,D,20.5
2019-01-29 10:24:08 timer6_Sa 08:00-22:00,D,20.5
2019-01-29 10:24:08 timer7_So 08:00-22:00,D,20.5
helper:
PID_D_previousTemps:
20.2
20.2
20.2
20.2
20.2
20.2
20.2
20.2
20.2
20.2
PID_I_previousTemps:
20.2
20.2
20.2
20.2
20.2
Attributes:
DbLogInclude desired-temp
alexaName Heizung Büro
alias ELW SecoNet
autoCalcTemp 1
devStateIcon Frost.*:temp_frost@blue Calculating:temp_control@green Manual:temp_temperature
event-min-interval desired-temp:600
genericDeviceType thermostat
icon scene_office
room ELW->Office,technik->heizung
tempCosy 23
tempDay 20.5
tempFrostProtect 16
tempNight 19.5
verbose 1
webCmd desired-temp
Danke vorab,
Tom
bitte zeig mal das alexa-fhem log bei einem start mit --debug und dort das mapping das für das device gelesen wird. ob mein set dann noch etwas umgerechnet wird.
Hi,
dieser Ausschnitt scheint auf das Problem hinzudeuten:
[2019-1-31 19:18:47] [FHEM] mappings for OF.ELW.PWMR: { TargetTemperature:
{ reading: 'desired-temp',
cmd: 'desired-temp',
delay: true,
minValue: 6,
maxValue: 7,
minStep: '6.5' },
CurrentTemperature: { reading: 'temperature', minValue: -30 },
CurrentHeatingCoolingState: { default: 'HEAT' } }
[2019-1-31 19:18:47] [FHEM] OF.ELW.PWMR is thermostat
[2019-1-31 19:18:47] [FHEM] OF.ELW.PWMR has
[2019-1-31 19:18:47] [FHEM] TargetTemperature [desired-temp]
[2019-1-31 19:18:47] [FHEM] CurrentTemperature [temperature]
Edit: homebridgemapping angepasst - danke für den Wink in die richtige Richtung.
ja.
zeig mal die ausgabe von set ? auf das device.
aus irgend einem grund werden die min und max werte für desired-temp falsch aus der liste geholt.
ein homebridgeMapping mit TargetTemperature=desired-temp,cmd=desired-temp,minValue=xx,maxValue=yy,minStep=0.5 sollte helfen.
Zitat von: justme1968 am 31 Januar 2019, 19:33:54
ja.
zeig mal die ausgabe von set ? auf das device.
aus irgend einem grund werden die min und max werte für desired-temp falsch aus der liste geholt.
ein homebridgeMapping mit TargetTemperature=desired-temp,cmd=desired-temp,minValue=xx, maxValue=yy,minStep=0.5 sollte helfen.
Ok, da hat sich mein Edit mit Deiner Antwort ganz knapp überschnitten. Anyway:
ein set ? auf das Device ergibt:
Unknown argument ?, choose one of factor actor desired-temp interval manualTempDuration frostProtect
ich habe auf die schnelle keine ahnung wo die werte herkommen...
neben homebridgeMapping müsste es auch helfen wenn du dir mit widgetOverride einen dropdown oder slider für die desired-temp werte konfigurierst.
wenn du magst: zeig noch mal ein jsonlist2 vom device.
Klar mag ich.
{
"Arg":"OF.ELW.PWMR",
"Results": [
{
"Name":"OF.ELW.PWMR",
"PossibleSets":"factor actor:off,on desired-temp:0.0,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0 interval manualTempDuration:slider,60,60,600 frostProtect:off,on",
"PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 disable:1,0 loglevel:0,1,2,3,4,5 frostProtect:0,1 autoCalcTemp:0,1 desiredTempFrom tempFrostProtect tempDay tempNight tempCosy tempEnergy tempRule1 tempRule2 tempRule3 tempRule4 tempRule5 valueFormat:textField-long event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading ASC:0,1,2 DbLogExclude DbLogInclude alexaName alexaRoom cmdIcon devStateIcon devStateIcon:textField-long devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,scene homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
"Internals": {
"ACTOR": "OF.ELW.FBH",
"DEF": "FBH.COMF.PWM 1 OF.ELW.LF OF.ELW.FBH OF1.ELW.SC,OF2.ELW.SC:.*[Oo]pen.* 1:0.8:0.4,5:0.5,10",
"FUUID": "5c4613c9-f33f-9b5f-1260-7c5a2fdb31e939ce",
"INTERVAL": "300",
"NAME": "OF.ELW.PWMR",
"NR": "198",
"STATE": "ManualSetUntil 21:43:51",
"TEMPSENSOR": "OF.ELW.LF",
"TYPE": "PWMR",
"WINDOW": "OF1.ELW.SC,OF2.ELW.SC:.*[Oo]pen.*",
"a_regexp_on": "on",
"actor": "OF.ELW.FBH",
"c_PID_DFactor": "0.5",
"c_PID_DLookBackCnt": "10",
"c_PID_IFactor": "0.4",
"c_PID_ILookBackCnt": "5",
"c_PID_PFactor": "0.8",
"c_PID_useit": "1",
"c_autoCalcTemp": "1",
"c_desiredTempFrom": "",
"c_frostProtect": "0",
"c_tempC": "23",
"c_tempD": "20.5",
"c_tempE": "19",
"c_tempFrostProtect": "16",
"c_tempN": "19.5",
"c_tempRule1": "1-5 0600,D 2200,N",
"c_tempRule2": "6-0 0800,D 2200,N",
"c_tempRule3": "",
"c_tempRule4": "",
"c_tempRule5": "",
"h_deltaTemp": "20.8",
"h_deltaTemp_D": "20.7",
"p_actor": "OF.ELW.FBH",
"p_factor": "1",
"p_pid": "1:0.8:0.4,5:0.5,10",
"p_tsensor": "OF.ELW.LF",
"p_window": "OF1.ELW.SC,OF2.ELW.SC:.*[Oo]pen.*",
"t_reading": "temperature",
"t_regexp": "([\u005cd\u005c.]+)",
"t_sensor": "OF.ELW.LF",
"w_regexp": ".*[Oo]pen.*",
"windows": "OF1.ELW.SC,OF2.ELW.SC"
},
"Readings": {
"PID_DVal": { "Value":"-0.05", "Time":"2019-01-31 19:54:29" },
"PID_IVal": { "Value":"-1", "Time":"2019-01-31 19:54:29" },
"PID_PVal": { "Value":"0.00", "Time":"2019-01-31 19:54:29" },
"PID_PWMOnTime": { "Value":"00:00", "Time":"2019-01-31 19:54:29" },
"PID_PWMPulse": { "Value":"0", "Time":"2019-01-31 19:54:29" },
"actorState": { "Value":"off", "Time":"2019-01-31 19:38:29" },
"desired-temp": { "Value":"0.0", "Time":"2019-01-31 19:43:51" },
"desired-temp-until": { "Value":"2019-01-31 21:43:51", "Time":"2019-01-31 19:43:51" },
"desired-temp-used": { "Value":"0.0", "Time":"2019-01-31 19:54:29" },
"energyused": { "Value":"111111111111100000000000000000", "Time":"2019-01-31 19:54:29" },
"energyusedp": { "Value":"43.3", "Time":"2019-01-31 19:54:29" },
"lastswitch": { "Value":"1548959909", "Time":"2019-01-31 19:38:29" },
"manualTempDuration": { "Value":"120", "Time":"2018-10-26 14:17:44" },
"oldpulse": { "Value":"-0.2314", "Time":"2019-01-31 19:54:29" },
"state": { "Value":"ManualSetUntil 21:43:51", "Time":"2019-01-31 19:43:51" },
"temperature": { "Value":"20.8", "Time":"2019-01-31 19:54:29" },
"timer1_Mo": { "Value":"06:00-22:00,D,20.5 ", "Time":"2019-01-29 10:24:08" },
"timer2_Di": { "Value":"06:00-22:00,D,20.5 ", "Time":"2019-01-29 10:24:08" },
"timer3_Mi": { "Value":"06:00-22:00,D,20.5 ", "Time":"2019-01-29 10:24:08" },
"timer4_Do": { "Value":"06:00-22:00,D,20.5 ", "Time":"2019-01-29 10:24:08" },
"timer5_Fr": { "Value":"06:00-22:00,D,20.5 ", "Time":"2019-01-29 10:24:08" },
"timer6_Sa": { "Value":"08:00-22:00,D,20.5 ", "Time":"2019-01-29 10:24:08" },
"timer7_So": { "Value":"08:00-22:00,D,20.5 ", "Time":"2019-01-29 10:24:08" }
},
"Attributes": {
"DbLogInclude": "desired-temp",
"alexaName": "Heizung Büro",
"alias": "ELW SecoNet",
"autoCalcTemp": "1",
"devStateIcon": "Frost.*:temp_frost@blue Calculating:temp_control@green Manual:temp_temperature",
"event-min-interval": "desired-temp:600",
"genericDeviceType": "thermostat",
"homebridgeMapping": "TargetTemperature=desired-temp::desired-temp,minValue=5,maxValue=25,minStep=0.5,nocache=1",
"icon": "scene_office",
"room": "ELW->Office,technik->heizung",
"tempCosy": "23",
"tempDay": "20.5",
"tempFrostProtect": "16",
"tempNight": "19.5",
"verbose": "1",
"webCmd": "desired-temp"
}
} ],
"totalResultsReturned":1
}
Das homebridgeMapping ist fein für mich - jetzt weiß ich ja, wonach ich suchen muss. Dass ich da nicht sofort draufgekommen bin, ärgert mich schon wieder. Vielleicht schreibe ich was zum debuggen ins Wiki.
danke. ich habe das problem repariert. ist im nächsten alexa-fhem update enthalten.
Zitat von: sledge am 31 Januar 2019, 19:57:47
Vielleicht schreibe ich was zum debuggen ins Wiki.
Done.
danke!
ich habe noch ein paar kleinigkeiten vereinfacht.