Autor Thema: HTTPMOD / EZR Möhlenhoff Heizungssteuerung liest keine Werte mehr aus  (Gelesen 211 mal)

Offline moloko

  • New Member
  • *
  • Beiträge: 8
Hallo zusammen,

ich habe die Anbindung meiner Möhlenhoff / Homematik Fußbodenheizung über HTTPMOD irgendwo abgekupfert und sie funktionierte seit Jahren einwandfrei. 

Seit ein paar Wochen (letztes fhem update?) liest (und setzt) fhem die Werte nicht mehr.

Ich habe:
- die Devices gelöscht und erneut angelegt, hat nicht geholfen - jetzt steht überall "0" drin
- die static.xml in einem XPath Debugger gegen die XPath Ausrücke getestet (erwartungsgemäß passt alles)
- keine Passwörter gesetzt in den EZRs, statischer xml Aufruf funktioniert im Browser tadellos
- leider keine Ahnung, wie man HTTPMOD Ausdrücke in fhem debuggen kann

Ich hoffe, ich stelle mich nicht blöd an, wäre für Tipps zur weiteren Vorgehensweise sehr dankbar...
Vielen Dank!

Hier die Definition:
define eg.ez.ezr HTTPMOD http://192.168.x.xx/data/Static.xml 600
attr eg.ez.ezr userattr enableXPath-Strict stateFormat
attr eg.ez.ezr enableControlSet 1
attr eg.ez.ezr enableXPath-Strict 1
attr eg.ez.ezr reading01Name measured-temp
attr eg.ez.ezr reading01Regex xpath-strict://Devices/Device/HEATAREA [@nr="1"]/T_ACTUAL/text()
attr eg.ez.ezr reading02Name desired-temp
attr eg.ez.ezr reading02Regex xpath-strict://Devices/Device/HEATAREA [@nr="1"]/T_TARGET/text()
attr eg.ez.ezr reading03Name actor1-percent
attr eg.ez.ezr reading03Regex xpath-strict://Devices/Device/HEATCTRL [@nr="1"]/ACTOR_PERCENT/text()
attr eg.ez.ezr reading04Name battery
attr eg.ez.ezr reading04Regex xpath-strict://Devices/Device/IODEVICE [@nr="1"]/BATTERY/text()
attr eg.ez.ezr reading05Name signal-strength
attr eg.ez.ezr reading05Regex xpath-strict://Devices/Device/IODEVICE [@nr="1"]/SIGNALSTRENGTH/text()
attr eg.ez.ezr reading06Name actor2-percent
attr eg.ez.ezr reading06Regex xpath-strict://Devices/Device/HEATCTRL [@nr="2"]/ACTOR_PERCENT/text()
attr eg.ez.ezr reading07Name mode
attr eg.ez.ezr reading07Regex xpath-strict://Devices/Device/HEATAREA [@nr="1"]/HEATAREA_MODE/text()
attr eg.ez.ezr room Fussbodenheizung
attr eg.ez.ezr set01Data <?xml version="1.0" encoding="UTF-8"?><Devices><Device><ID>ezr-ug</ID><HEATAREA nr="1"><T_TARGET>$val</T_TARGET></HEATAREA></Device></Devices>
attr eg.ez.ezr set01Max 30
attr eg.ez.ezr set01Min 5
attr eg.ez.ezr set01Name set-temp
attr eg.ez.ezr set01URL http://192.168.x.xx/data/changes.xml
attr eg.ez.ezr set02Data <?xml version="1.0" encoding="UTF-8"?><Devices><Device><ID>ezr-ug</ID><HEATAREA nr="1"><HEATAREA_MODE>$val</HEATAREA_MODE></HEATAREA></Device></Devices>
attr eg.ez.ezr set02Hint 0,1,2
attr eg.ez.ezr set02Name mode
attr eg.ez.ezr set02TextArg 1
attr eg.ez.ezr set02URL http://192.168.x.xx/data/changes.xml
attr eg.ez.ezr set03Data <?xml version="1.0" encoding="UTF-8"?><Devices><Device><ID>ezr-ug</ID><HEATAREA nr="1"><T_HEAT_DAY>$val</T_HEAT_DAY></HEATAREA></Device></Devices>
attr eg.ez.ezr set03Max 30
attr eg.ez.ezr set03Min 5
attr eg.ez.ezr set03Name Tag
attr eg.ez.ezr set03TextArg 1
attr eg.ez.ezr set03URL http://192.168.x.xx/data/changes.xml
attr eg.ez.ezr set04Data <?xml version="1.0" encoding="UTF-8"?><Devices><Device><ID>ezr-ug</ID><HEATAREA nr="1"><T_HEAT_NIGHT>$val</T_HEAT_NIGHT></HEATAREA></Device></Devices>
attr eg.ez.ezr set04Max 30
attr eg.ez.ezr set04Min 5
attr eg.ez.ezr set04Name Nacht
attr eg.ez.ezr set04URL http://192.168.x.xx/data/changes.xml
attr eg.ez.ezr stateFormat {sprintf("Ist: %.1f , Soll: %.1f, Actor1: %.1f, Actor2: %.1f, Batterie: %.1f, Signal: %.1f",  ReadingsNum($name,"measured-temp",0), ReadingsNum($name,"desired-temp",0), ReadingsNum($name,"actor1-percent",0), ReadingsNum($name,"actor2-percent",0), ReadingsNum($name,"battery",0), ReadingsNum($name,"signal-strength",0))}
attr eg.ez.ezr widgetOverride userattr:textField-long set04Data:textField-long

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 25347
Ich wuerde "attr eg.ez.ez verbose 5" setzen, und das dazugehoerige FHEM-Log untersuchen oder hier anhaengen.

Offline moloko

  • New Member
  • *
  • Beiträge: 8
Vielen Dank für den Hinweis und die Antwort (sorry für die späte Erwiderung, bin zeitlich recht angespannt unterwegs, leider).

Aus dem Hauptlog entnehme ich XPath Fehler für die EZRs, zB::

2022.05.01 00:07:30 3: eg.ez.ezr: PrecompileRegexAttr cannot store precompiled regex because outdated xpath syntax is used in attr reading01Regex xpath-strict://Devices/Device/HEATAREA [@nr="1"]/T_ACTUAL/text(). Please upgrade attributes

Online XPath Test-Sites ergeben eine korrekte Auswertung des XPaths, muss ich da was anpassen?

 

decade-submarginal