(gelöst) FHEM-Connector: Heizung wird immer auf 7° gestellt? (PWMR)

Begonnen von sledge, 31 Januar 2019, 18:01:46

Vorheriges Thema - Nächstes Thema

sledge

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


FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

justme1968

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.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

sledge

#2
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.
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

justme1968

#3
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.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

sledge

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

FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

justme1968

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.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

sledge

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.
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

justme1968

danke. ich habe das problem repariert. ist im nächsten alexa-fhem update enthalten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

sledge

FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

justme1968

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

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