Hallo
habe einen neuen Pelletofen. Den kann ich auch übers WEB steuern und abfragen.
Im Safari Browser sieht das ganze unter Entwicklereinstellung so aus:
"name": "Vorzimmer",
"stoveID": "xxxxxxxxx",
"lastSeenMinutes": 1,
"lastConfirmedRevision": 1504385700,
"controls": {
"revision": 1504385700,
"onOff": true,
"operatingMode": 2,
"heatingPower": 65,
"targetTemperature": 24,
"heatingTimesActive": false,
"heatingTimesActiveForComfort": true,
"setBackTemperature": 18,
"convectionFan1Active": false,
"convectionFan1Level": 0,
"convectionFan1Area": 0,
"convectionFan2Active": false,
"convectionFan2Level": 0,
"convectionFan2Area": 0,
"frostProtectionActive": false,
"frostProtectionTemperature": 5
},
"sensors": {
"statusError": 0,
"statusWarning": 0,
"statusService": 0,
"statusMainState": 1,
"statusSubState": 3,
"statusFrostStarted": false,
"inputFlameTemperature": 21,
"inputRoomTemperature": 21,
"inputExternalRequest": true,
"outputDischargeMotor": 0,
"outputInsertionMotor": 0,
"outputIDFan": 0,
"outputAirFlaps": 0,
"outputIgnition": false,
"parameterStoveTypeNumber": 13,
"parameterVersionMainBoard": 223,
"parameterVersionTFT": 223,
"parameterRuntimePellets": 11,
"parameterRuntimeLogs": 0,
"parameterFeedRateTotal": 17,
"parameterFeedRateService": 683,
"parameterOnOffCycles": 2
},
"stoveType": "DOMO MultiAir",
"stoveFeatures": {
"multiAir1": true,
"multiAir2": true,
"insertionMotor": false,
"airFlaps": false,
"logRuntime": false
}
}
Ich möchte da gerne für den Anfang den Wert inputRoomTemperature abfragen
Hier das List
Internals:
BUSY 0
CHANGED
DEF https://www.rika-firenet.com/web/stove/xxxxx 60
Interval 60
LASTSEND 1504537734.61853
MainURL https://www.rika-firenet.com/web/stove/xxxxx
ModuleVersion 3.3.11 - 8.5.2017
NAME OfenTest
NR 273
STATE ???
TRIGGERTIME 1504537794.6173
TRIGGERTIME_FMT 2017-09-04 17:09:54
TYPE HTTPMOD
addr https://www.rika-firenet.com:443
buf
code 200
conn
data
displayurl https://www.rika-firenet.com:443/web/
header
host www.rika-firenet.com
httpheader HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3631
Etag: W/"e2f-jbpBvLM4m9pOpA0HD6+6Dw"
Set-Cookie: connect.sid=s%3AZyFhfay7QgIwPWKuWs_QYM4u1y55i_a4.VV1eQDnKaJLUsklXiLVxheelRG4KW52QyHZ%2Froh4DsY; Path=/; Expires=Mon, 18 Sep 2017 15:08:55 GMT; HttpOnly
Vary: Accept-Encoding
Date: Mon, 04 Sep 2017 15:08:55 GMT
Via: 1.1 vegur
httpversion 1.0
hu_blocking 0
hu_filecount 2
hu_portSfx
ignoreredirects 0
loglevel 4
path /web/
protocol https
redirects 1
timeout 2
url https://www.rika-firenet.com:443/web/
value 0
QUEUE:
READINGS:
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url https://www.rika-firenet.com/web/stove/xxxxx
value 0
sslargs:
Attributes:
reading01Name Thermostat
reading01Regex inputRoomTemperature
userattr 1 reading01Name reading01Regex
Leider bekomme ich im Log diese Meldung
2017.09.04 17:16:55 3: OfenTest: Read response to update didn't match any Reading
Kann mir bitte jemand erklären wie ich das richtig eintragen muss
Danke und nice eve
Helmut
Lese Dich mal in der HTTPMOD Commandref und wenn nötig im Wiki ein. Für Dich ist das Attribut JSON interessant.
Dein Output hast Du vermutlich nicht vollständig übertragen, es fehlt mindestens ein { am Anfang. Wenn nichts anderes fehlt, sollte folgendes funktionieren:
reading01JSON sensors_inputRoomTemperature
Hallo
also habe so wie von amenomade beschrieben probiert und aber auch so wie im Wiki mit
attr OfenTest get01JSON sensors_inputRoomTemperature
und bekomme im Log diese Meldungen - mit denen ich leider wirklich nix anfangen kann:
2017.09.04 17:50:06 3: OfenTest: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 8234) line 1.
2017.09.04 17:50:06 3: OfenTest: no parsed JSON structure available
2017.09.04 17:50:06 3: OfenTest: Read response to update didn't match any Reading
habe auch das attr extractAllJSON verwendet....
Sorry aber da blicke ich im Moment nicht ganz durch
Zeig mal ein "list OfenTest" mit attr extractAllJSON gesetzt. Und zeig auch bitte die gesamte Ausgabe aus einem Browser (Quellcode der Seite)
Danke für deine Hilfe
hier das List
Internals:
BUSY 0
CHANGED
DEF https://www.rika-firenet.com/web/stove/xxxxx 60
Interval 60
JSONEnabled 1
LASTSEND 1504544286.82367
MainURL https://www.rika-firenet.com/web/stove/xxxxx
ModuleVersion 3.3.11 - 8.5.2017
NAME OfenTest
NR 273
STATE ???
TRIGGERTIME 1504544346.82249
TRIGGERTIME_FMT 2017-09-04 18:59:06
TYPE HTTPMOD
addr https://www.rika-firenet.com:443
buf
code 200
conn
data
displayurl https://www.rika-firenet.com:443/web/
header
host www.rika-firenet.com
httpheader HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3631
Etag: W/"e2f-jbpBvLM4m9pOpA0HD6+6Dw"
Set-Cookie: connect.sid=s%3AZwLlXzG4YUZxctcji2swadIxpiyEB79K.eBpvSC4P27SPlMA3%2Bhey48EXTC0IqeJ1oSTCxgGYC2I; Path=/; Expires=Mon, 18 Sep 2017 16:58:07 GMT; HttpOnly
Vary: Accept-Encoding
Date: Mon, 04 Sep 2017 16:58:07 GMT
Via: 1.1 vegur
httpversion 1.0
hu_blocking 0
hu_filecount 144
hu_portSfx
ignoreredirects 0
loglevel 4
path /web/
protocol https
redirects 1
timeout 2
url https://www.rika-firenet.com:443/web/
value 0
QUEUE:
READINGS:
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url https://www.rika-firenet.com/web/stove/xxxxx
value 0
sslargs:
Attributes:
extractAllJSON 1
get01JSON sensors_inputRoomTemperature
reading01Name Thermostat
userattr 1 get01JSON reading01JSON reading01Name reading01Regex
und hier der Quellcode. von XHRs Status
{
"name": "Vorzimmer",
"stoveID": "xxxxx",
"lastSeenMinutes": 0,
"lastConfirmedRevision": 1504385700,
"controls": {
"revision": 1504385700,
"onOff": true,
"operatingMode": 2,
"heatingPower": 65,
"targetTemperature": 24,
"heatingTimesActive": false,
"heatingTimesActiveForComfort": true,
"setBackTemperature": 18,
"convectionFan1Active": false,
"convectionFan1Level": 0,
"convectionFan1Area": 0,
"convectionFan2Active": false,
"convectionFan2Level": 0,
"convectionFan2Area": 0,
"frostProtectionActive": false,
"frostProtectionTemperature": 5
},
"sensors": {
"statusError": 0,
"statusWarning": 0,
"statusService": 0,
"statusMainState": 1,
"statusSubState": 3,
"statusFrostStarted": false,
"inputFlameTemperature": 21,
"inputRoomTemperature": 21,
"inputExternalRequest": true,
"outputDischargeMotor": 0,
"outputInsertionMotor": 0,
"outputIDFan": 0,
"outputAirFlaps": 0,
"outputIgnition": false,
"parameterStoveTypeNumber": 13,
"parameterVersionMainBoard": 223,
"parameterVersionTFT": 223,
"parameterRuntimePellets": 11,
"parameterRuntimeLogs": 0,
"parameterFeedRateTotal": 17,
"parameterFeedRateService": 683,
"parameterOnOffCycles": 2
},
"stoveType": "DOMO MultiAir",
"stoveFeatures": {
"multiAir1": true,
"multiAir2": true,
"insertionMotor": false,
"airFlaps": false,
"logRuntime": false
}
}
Gruß
Helmut
Somit sollte attr OfenTest reading01JSON sensors_inputRoomTemperature
funktionieren. Das hast Du noch nicht eingestellt.
Wenn nicht, dann bitte dein HTTMOD auf verbose 5 setzen, und die Log posten.
Nein das war schon drinnen - hab ich aber dann als ich den get ausprobiert habe rausgenommen
Hier das Log Verbose5
2017.09.04 19:41:14 3: Registering HTTPSRV TABLETUI for URL /ftui and assigned link ftui/ ...
2017.09.04 19:41:14 3: OfenTest: Defined with URL https://www.rika-firenet.com/web/stove/xxxxxx and interval 60
2017.09.04 19:41:14 1: Including ./log/fhem.save
2017.09.04 19:41:16 4: OfenTest: GetUpdate called (update)
2017.09.04 19:41:16 4: OfenTest: update timer modified: will call GetUpdate in 60.0 seconds at 2017-09-04 19:42:16
2017.09.04 19:41:16 4: OfenTest: AddToQueue adds update, initial queue len: 0
2017.09.04 19:41:16 5: OfenTest: AddToQueue adds type update to URL https://www.rika-firenet.com/web/stove/xxxxxx, no data, no headers, retry 0
2017.09.04 19:41:16 5: OfenTest: HandleSendQueue called, qlen = 1
2017.09.04 19:41:16 4: OfenTest: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/web/stove/xxxxxx, No Data, No Header,
timeout 2
2017.09.04 19:41:16 4: HttpUtils url=https://www.rika-firenet.com/web/stove/xxxxxx
2017.09.04 19:41:16 5: HttpUtils request header:
GET /web/stove/xxxxxx HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.04 19:41:16 4: https://www.rika-firenet.com/web/stove/xxxxx: HTTP response code 302
2017.09.04 19:41:16 4: HttpUtils https://www.rika-firenet.com/web/stove/xxxxx: Redirect to https://www.rika-firenet.com:443/web/
2017.09.04 19:41:16 4: HttpUtils url=https://www.rika-firenet.com:443/web/
2017.09.04 19:41:16 5: HttpUtils request header:
GET /web/ HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.04 19:41:16 4: https://www.rika-firenet.com:443/web/: HTTP response code 200
2017.09.04 19:41:16 4: HttpUtils https://www.rika-firenet.com:443/web/: Got data, length: 3631
2017.09.04 19:41:16 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3631
Etag: W/"e2f-jbpBvLM4m9pOpA0HD6+6Dw"
Set-Cookie: connect.sid=s%3AfW8jftBk8hmSKcyrf0QWpiBvERSS11Wv.qft08Ia0B3tHOHj8Ud0hWrpG6gpmg7oJWOurhffOu5M; Path=/; Expires=Mon, 18 Sep 2017 17:41:16 GMT; HttpOnly
Vary: Accept-Encoding
Date: Mon, 04 Sep 2017 17:41:16 GMT
Via: 1.1 vegur
2017.09.04 19:41:16 4: OfenTest: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3631
Etag: W/"e2f-jbpBvLM4m9pOpA0HD6+6Dw"
Set-Cookie: connect.sid=s%3AfW8jftBk8hmSKcyrf0QWpiBvERSS11Wv.qft08Ia0B3tHOHj8Ud0hWrpG6gpmg7oJWOurhffOu5M; Path=/; Expires=Mon, 18 Sep 2017 17:41:16 GMT; HttpOnly
Vary: Accept-Encoding
Date: Mon, 04 Sep 2017 17:41:16 GMT
Via: 1.1 vegur,
Body: <!DOCTYPE html><html lang="en" dir="ltr"><head><title>RIKA firenet</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- ********** Dynatrace RUM tags ******--><script type="text/javascript" src="https://js-cdn.dynatrace.com/jstag/15a8a271790/hpl92690/f1dedd4f87d6b03a_bs.js" crossorigin="anonymous"></script><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,200"><link rel="stylesheet" href="/assets/rika-firenet.css"><script src="/assets/rika-firenet-en.js"></script><!-- ****** faviconit.com Favicons ******--><link rel="shortcut icon" href="/images/favicon/favicon.ico"><link rel="icon" sizes="16x16 32x32 64x64" href="/images/favicon/favicon.ico"><link rel="icon" type="image/png" sizes="196x196" href="/images/favicon/favicon-192.png"><link rel="icon" type="image/png" sizes="160x160" href="/images/favicon/favicon-160.png"><link rel="icon" type="image/png" sizes="96x96" href="/images/favicon/favicon-96.png"><link rel="icon" type="image/png" sizes="64x64" href="/images/favicon/favicon-64.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32.png"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16.png"><link rel="apple-touch-icon" href="/images/favicon/favicon-57.png"><link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/favicon-114.png"><link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/favicon-72.png"><link rel="apple-touch-icon" sizes="144x144" href="/images/favicon/favicon-144.png"><link rel="apple-touch-icon" sizes="60x60" href="/images/favicon/favicon-60.png"><link rel="apple-touch-icon" sizes="120x120" href="/images/favicon/favicon-120.png"><link rel="apple-touch-icon" sizes="76x76" href="/images/favicon/favicon-76.png"><link rel="apple-touch-icon" sizes="152x152" href="/images/favicon/favicon-152.png"><link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/favicon-180.png"><meta name="msapplication-TileColor" content="#FFFFFF"><meta name="msapplication-TileImage" content="/images/favicon/favicon-144.png"><meta name="msapplication-config" content="/images/favicon/browserconfig.xml"><!-- ****** faviconit.com Favicons ******--></head><body id="rika-body"><div data-role="page"><div style="position:relative"><div id="deploymentStage"></div><img src="/images/RIKA_firenet_Logo.svg" style="width:60%; padding:1em 20% 2em 20%"></div><div role="main" class="ui-content"><b>Existing Users</b><a id="login" href="/web/login" data-role="button" data-icon="fa-sign-in" data-iconpos="right" data-theme="a">Log in</a><p class="mc-top-margin-1-5"></p><b>Need an Account?</b><a id="signup" href="/web/signup" data-role="button" data-icon="fa-pencil-square-o" data-iconpos="right" data-theme="a">Create account</a><p class="mc-top-margin-1-5"> </p><p>In order to use this service you need a RIKA pellet stove that is equipped with the RIKA firenet module</p><p>Please contact <a href='http://www.rika.at' target=_blank> a local dealer </a> for more details.</p></div><div id="about-footer"></div></div><div id="gadiv"><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-71662097-1', 'auto');
ga('send', 'pageview');</script></div></body></html>
2017.09.04 19:41:16 3: OfenTest: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 8970) line 1.
2017.09.04 19:41:16 5: OfenTest: ExtractSid called, context reading, num
2017.09.04 19:41:16 4: OfenTest: CheckAuth decided no authentication required
2017.09.04 19:41:16 3: OfenTest: no parsed JSON structure available
2017.09.04 19:41:16 5: OfenTest: UpdateReadingList created list of reading.* nums to parse during getUpdate as 01
2017.09.04 19:41:16 5: OfenTest: Read starts parsing response to update with defined readings: 01
2017.09.04 19:41:16 5: OfenTest: ExtractReading Thermostat with json sensors_inputRoomTemperature ...
2017.09.04 19:41:16 5: OfenTest: ExtractReading Thermostat did not match
2017.09.04 19:41:16 3: OfenTest: Read response to update didn't match any Reading
2017.09.04 19:41:16 5: OfenTest: HandleSendQueue called, qlen = 0
Danke
inputRoomTemperature taucht aber nirgendwo in deiner Log verbose 5. Das heisst, er hat die gewünschte Seite einfach (noch) nicht geholt. Dann kannst Du mit Regex oder JSON machen, was Du willst. Er wird nix finden.
ZitatBody: <!DOCTYPE html><html lang="en" dir="ltr"><head><title>RIKA firenet</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- ********** Dynatrace RUM tags ******--><script type="text/javascript" src="https://js-cdn.dynatrace.com/jstag/15a8a271790/hpl92690/f1dedd4f87d6b03a_bs.js" crossorigin="anonymous"></script><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,200"><link rel="stylesheet" href="/assets/rika-firenet.css"><script src="/assets/rika-firenet-en.js"></script><!-- ****** faviconit.com Favicons ******--><link rel="shortcut icon" href="/images/favicon/favicon.ico"><link rel="icon" sizes="16x16 32x32 64x64" href="/images/favicon/favicon.ico"><link rel="icon" type="image/png" sizes="196x196" href="/images/favicon/favicon-192.png"><link rel="icon" type="image/png" sizes="160x160" href="/images/favicon/favicon-160.png"><link rel="icon" type="image/png" sizes="96x96" href="/images/favicon/favicon-96.png"><link rel="icon" type="image/png" sizes="64x64" href="/images/favicon/favicon-64.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32.png"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16.png"><link rel="apple-touch-icon" href="/images/favicon/favicon-57.png"><link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/favicon-114.png"><link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/favicon-72.png"><link rel="apple-touch-icon" sizes="144x144" href="/images/favicon/favicon-144.png"><link rel="apple-touch-icon" sizes="60x60" href="/images/favicon/favicon-60.png"><link rel="apple-touch-icon" sizes="120x120" href="/images/favicon/favicon-120.png"><link rel="apple-touch-icon" sizes="76x76" href="/images/favicon/favicon-76.png"><link rel="apple-touch-icon" sizes="152x152" href="/images/favicon/favicon-152.png"><link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/favicon-180.png"><meta name="msapplication-TileColor" content="#FFFFFF"><meta name="msapplication-TileImage" content="/images/favicon/favicon-144.png"><meta name="msapplication-config" content="/images/favicon/browserconfig.xml"><!-- ****** faviconit.com Favicons ******--></head><body id="rika-body"><div data-role="page"><div style="position:relative"><div id="deploymentStage"></div><img src="/images/RIKA_firenet_Logo.svg" style="width:60%; padding:1em 20% 2em 20%"></div><div role="main" class="ui-content"><b>Existing Users</b><a id="login" href="/web/login" data-role="button" data-icon="fa-sign-in" data-iconpos="right" data-theme="a">Log in</a><p class="mc-top-margin-1-5"></p><b>Need an Account?</b><a id="signup" href="/web/signup" data-role="button" data-icon="fa-pencil-square-o" data-iconpos="right" data-theme="a">Create account</a><p class="mc-top-margin-1-5"> </p><p>In order to use this service you need a RIKA pellet stove that is equipped with the RIKA firenet module</p><p>Please contact <a href='http://www.rika.at' target=_blank> a local dealer </a> for more details.</p></div><div id="about-footer"></div></div><div id="gadiv"><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
Anscheinend braucht er ein Login!
Guten Morgen
habe jetzt mit vorgesetztem Login in der Url probiert - nein
Wobei ich einmal https://xy@zzz:strenggheim@www.rika...... und einmal https://xy%40zzz:strenggeheim@www.rika...... versucht habe
Gebe ich im SafariBrowser das ein https://xy%40zzz:strenggeheim@www.rika......
dann muss ich mehrmals die Entehrteste drücken und dann kommt die Meldung einer Phishing Seite weil das PW mitgeschickt wird.
Im Log steht dies:
2017.09.05 08:00:21 5: OfenTest: ExtractSid called, context reading, num
2017.09.05 08:00:21 4: OfenTest: CheckAuth decided no authentication required
2017.09.05 08:00:21 3: OfenTest: no parsed JSON structure available
2017.09.05 08:00:21 5: OfenTest: Read starts parsing response to update with defined readings: 01
2017.09.05 08:00:21 5: OfenTest: ExtractReading Thermostat with json sensors_inputRoomTemperature ...
2017.09.05 08:00:21 5: OfenTest: ExtractReading Thermostat did not match
2017.09.05 08:00:21 3: OfenTest: Read response to update didn't match any Reading
2017.09.05 08:00:21 5: OfenTest: HandleSendQueue called, qlen = 0
2017.09.05 08:01:20 4: OfenTest: GetUpdate called (update)
2017.09.05 08:01:20 4: OfenTest: update timer modified: will call GetUpdate in 60.0 seconds at 2017-09-05 08:02:20
2017.09.05 08:01:20 4: OfenTest: AddToQueue adds update, initial queue len: 0
2017.09.05 08:01:20 5: OfenTest: AddToQueue adds type update to URL https://xy%40zzzz:strenggeheim@www.rika-firenet.com/web/stove/ofenID, no data, no headers, retry 0
2017.09.05 08:01:20 5: OfenTest: HandleSendQueue called, qlen = 1
2017.09.05 08:01:20 4: OfenTest: HandleSendQueue sends request type update to URL https://xy%40zzzz:strenggeheim@www.rika-firenet.com/web/stove/ofenID, No Data, No Header,
timeout 2
2017.09.05 08:01:20 4: HttpUtils url=https://xy%40zzzz:strenggeheim@www.rika-firenet.com/web/stove/ofenID
2017.09.05 08:01:21 5: HttpUtils request header:
GET /web/stove/ofenID HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Authorization: Basic aGVsbXV0JTQwZmxpZWguYXQ6ZGFuaWVsMTAw
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.05 08:01:21 4: https://xy%40zzzz:strenggeheim@www.rika-firenet.com/web/stove/ofenID: HTTP response code 302
2017.09.05 08:01:21 4: HttpUtils https://xy%40zzzz:strenggeheim@www.rika-firenet.com/web/stove/ofenID: Redirect to https://www.rika-firenet.com:443/web/
2017.09.05 08:01:21 4: HttpUtils url=https://www.rika-firenet.com:443/web/
2017.09.05 08:01:21 5: HttpUtils request header:
GET /web/ HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Authorization: Basic blablabal
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.05 08:01:21 4: https://www.rika-firenet.com:443/web/: HTTP response code 200
2017.09.05 08:01:21 4: HttpUtils https://www.rika-firenet.com:443/web/: Got data, length: 3631
2017.09.05 08:01:21 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3631
Etag: W/"e2f-jbpBvLM4m9pOpA0HD6+6Dw"
Set-Cookie: connect.sid=s%3AHaVxkRl6rtui-i0FutvQn-SKhlUA-dpm.Gi9zFfVhZFCz6UE7pmi6C5Aee7HDuwIdJEEUC2JhpN8; Path=/; Expires=Tue, 19 Sep 2017 06:01:21 GMT; HttpOnly
Vary: Accept-Encoding
Date: Tue, 05 Sep 2017 06:01:21 GMT
Via: 1.1 vegur
2017.09.05 08:01:21 4: OfenTest: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3631
Etag: W/"e2f-jbpBvLM4m9pOpA0HD6+6Dw"
Set-Cookie: connect.sid=s%3AHaVxkRl6rtui-i0FutvQn-SKhlUA-dpm.Gi9zFfVhZFCz6UE7pmi6C5Aee7HDuwIdJEEUC2JhpN8; Path=/; Expires=Tue, 19 Sep 2017 06:01:21 GMT; HttpOnly
Vary: Accept-Encoding
Date: Tue, 05 Sep 2017 06:01:21 GMT
Via: 1.1 vegur,
Body: <!DOCTYPE html><html lang="en" dir="ltr"><head><title>RIKA firenet</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- ********** Dynatrace RUM tags ******--><script type="text/javascript" src="https://js-cdn.dynatrace.com/jstag/15a8a271790/hpl92690/f1dedd4f87d6b03a_bs.js" crossorigin="anonymous"></script><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,200"><link rel="stylesheet" href="/assets/rika-firenet.css"><script src="/assets/rika-firenet-en.js"></script><!-- ****** faviconit.com Favicons ******--><link rel="shortcut icon" href="/images/favicon/favicon.ico"><link rel="icon" sizes="16x16 32x32 64x64" href="/images/favicon/favicon.ico"><link rel="icon" type="image/png" sizes="196x196" href="/images/favicon/favicon-192.png"><link rel="icon" type="image/png" sizes="160x160" href="/images/favicon/favicon-160.png"><link rel="icon" type="image/png" sizes="96x96" href="/images/favicon/favicon-96.png"><link rel="icon" type="image/png" sizes="64x64" href="/images/favicon/favicon-64.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32.png"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16.png"><link rel="apple-touch-icon" href="/images/favicon/favicon-57.png"><link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/favicon-114.png"><link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/favicon-72.png"><link rel="apple-touch-icon" sizes="144x144" href="/images/favicon/favicon-144.png"><link rel="apple-touch-icon" sizes="60x60" href="/images/favicon/favicon-60.png"><link rel="apple-touch-icon" sizes="120x120" href="/images/favicon/favicon-120.png"><link rel="apple-touch-icon" sizes="76x76" href="/images/favicon/favicon-76.png"><link rel="apple-touch-icon" sizes="152x152" href="/images/favicon/favicon-152.png"><link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/favicon-180.png"><meta name="msapplication-TileColor" content="#FFFFFF"><meta name="msapplication-TileImage" content="/images/favicon/favicon-144.png"><meta name="msapplication-config" content="/images/favicon/browserconfig.xml"><!-- ****** faviconit.com Favicons ******--></head><body id="rika-body"><div data-role="page"><div style="position:relative"><div id="deploymentStage"></div><img src="/images/RIKA_firenet_Logo.svg" style="width:60%; padding:1em 20% 2em 20%"></div><div role="main" class="ui-content"><b>Existing Users</b><a id="login" href="/web/login" data-role="button" data-icon="fa-sign-in" data-iconpos="right" data-theme="a">Log in</a><p class="mc-top-margin-1-5"></p><b>Need an Account?</b><a id="signup" href="/web/signup" data-role="button" data-icon="fa-pencil-square-o" data-iconpos="right" data-theme="a">Create account</a><p class="mc-top-margin-1-5"> </p><p>In order to use this service you need a RIKA pellet stove that is equipped with the RIKA firenet module</p><p>Please contact <a href='http://www.rika.at' target=_blank> a local dealer </a> for more details.</p></div><div id="about-footer"></div></div><div id="gadiv"><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-71662097-1', 'auto');
ga('send', 'pageview');</script></div></body></html>
2017.09.05 08:01:21 3: OfenTest: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 12986) line 1.
2017.09.05 08:01:21 5: OfenTest: ExtractSid called, context reading, num
2017.09.05 08:01:21 4: OfenTest: CheckAuth decided no authentication required
2017.09.05 08:01:21 3: OfenTest: no parsed JSON structure available
2017.09.05 08:01:21 5: OfenTest: Read starts parsing response to update with defined readings: 01
2017.09.05 08:01:21 5: OfenTest: ExtractReading Thermostat with json sensors_inputRoomTemperature ...
2017.09.05 08:01:21 5: OfenTest: ExtractReading Thermostat did not match
2017.09.05 08:01:21 3: OfenTest: Read response to update didn't match any Reading
2017.09.05 08:01:21 5: OfenTest: HandleSendQueue called, qlen = 0
2017.09.05 08:02:22 3: OfenTest: Defined with URL https://xy%40zzzz:strenggeheim@www.rika-firenet.com/web/stove/ofenID and interval 60
2017.09.05 08:02:22 1: Including ./log/fhem.save
Danke und schönen Tag
Du musst bitte https://fhem.de/commandref.html#HTTPMOD lesen, und den Abschnitt "Handling sessions and logging in" nutzen. Dafür sind die Attribute da. Nach dem 1. Aufruf kriegst Du http 302 und wirst auf die Login Seite umgeleitet. Auf Basis dieser Seite kannst Du eine passende reAuthRegex bauen. Dann die sid Attribute nutzen, um user und passwort zu setzen.
Hallo amenomade
ich habe gelesen und ich sag dir ehrlich ich verstehe es nicht, würdest du bitte so nett sein und mir
bitte erklären WAS in welches Attribut gehört
Zuerst habe ich den dml TreeBuilder installiert - das wurde gefordert.
Dann habe ich das reAuthRegex mit https://www.rika-firenet.com/web/login erstellt
Wäre ganz toll von dir wenn du mir das hier erklären könntest -
Herzlichen Dank
Helmut
Du musst erstmal den http Traffic analysieren. Dafür ist z.B. Burp auf deinem PC zu installieren, um das ganze Anmeldungsverfahren zu loggen.
https://support.portswigger.net/customer/portal/articles/1783055-configuring-your-browser-to-work-with-burp
Somit wirst Du sehen:
- wo du landest, wenn nicht authentifiziert
- wie die POST Request aussieht, wenn Du deine Zugangsdaten einträgst
Ich gucke heute Abend noch, was ich in deine Logs schon sehen kann, und melde mich.
Danke werde mir Burp ansehen
Leider ist es nicht für mich einfach, das ganze zu reproduzieren, da ich selbst kein Ofen bei rika habe.
Ich habe mit folgendem versucht:defmod ofen HTTPMOD https://www.rika-firenet.com/web/stove/xxxxxxx 60
attr ofen userattr sid01Data sid01URL sid02Data
attr ofen enableCookies 1
attr ofen extractAllJSON 1
attr ofen reAuthRegex id="login"
attr ofen sid01Data email=mail%40yopmail.com&password=limopivigi
attr ofen sid01URL https://www.rika-firenet.com/web/login
attr ofen verbose 5
Das wäre einer Anfang, aber ich kann nicht weiter. Probier mal biite, und poste Log Auszug und "list" vom httpmod Device wieder
Wow Danke für deine Geduld und Hilfe - also das mit Burp wird einige Tage dauern bis ich da den Überblick habe.... 8)
Habe meine alten OfenTest gelöscht und nach deinem Muster neu angelegt - bei den attr habe ich, glaube ich, schon einiges verstanden
Hier das Log
2017.09.06 08:13:33 3: ofen: Defined with URL https://www.rika-firenet.com/web/stove/xxxxxx and interval 60
2017.09.06 08:13:33 1: Including ./log/fhem.save
2017.09.06 08:13:35 4: ofen: GetUpdate called (update)
2017.09.06 08:13:35 4: ofen: update timer modified: will call GetUpdate in 60.0 seconds at 2017-09-06 08:14:35
2017.09.06 08:13:35 4: ofen: AddToQueue adds update, initial queue len: 0
2017.09.06 08:13:35 5: ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/web/stove/xxxxxx, no data, no headers, retry 0
2017.09.06 08:13:35 5: ofen: HandleSendQueue called, qlen = 1
2017.09.06 08:13:35 4: ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/web/stove/xxxxxx, No Data, No Header,
timeout 2
2017.09.06 08:13:35 4: HttpUtils url=https://www.rika-firenet.com/web/stove/xxxxxx
2017.09.06 08:13:35 5: HttpUtils request header:
GET /web/stove/xxxxxx HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.06 08:13:35 4: https://www.rika-firenet.com/web/stove/xxxxxx: HTTP response code 302
2017.09.06 08:13:35 4: HttpUtils https://www.rika-firenet.com/web/stove/xxxxxx: Redirect to https://www.rika-firenet.com:443/web/
2017.09.06 08:13:35 4: HttpUtils url=https://www.rika-firenet.com:443/web/
2017.09.06 08:13:35 5: HttpUtils request header:
GET /web/ HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.06 08:13:35 4: https://www.rika-firenet.com:443/web/: HTTP response code 200
2017.09.06 08:13:35 4: HttpUtils https://www.rika-firenet.com:443/web/: Got data, length: 3631
2017.09.06 08:13:35 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3631
Etag: W/"e2f-jbpBvLM4m9pOpA0HD6+6Dw"
Set-Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8; Path=/; Expires=Wed, 20 Sep 2017 06:13:35 GMT; HttpOnly
Vary: Accept-Encoding
Date: Wed, 06 Sep 2017 06:13:35 GMT
Via: 1.1 vegur
2017.09.06 08:13:35 4: ofen: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3631
Etag: W/"e2f-jbpBvLM4m9pOpA0HD6+6Dw"
Set-Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8; Path=/; Expires=Wed, 20 Sep 2017 06:13:35 GMT; HttpOnly
Vary: Accept-Encoding
Date: Wed, 06 Sep 2017 06:13:35 GMT
Via: 1.1 vegur,
Body: <!DOCTYPE html><html lang="en" dir="ltr"><head><title>RIKA firenet</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- ********** Dynatrace RUM tags ******--><script type="text/javascript" src="https://js-cdn.dynatrace.com/jstag/15a8a271790/hpl92690/f1dedd4f87d6b03a_bs.js" crossorigin="anonymous"></script><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,200"><link rel="stylesheet" href="/assets/rika-firenet.css"><script src="/assets/rika-firenet-en.js"></script><!-- ****** faviconit.com Favicons ******--><link rel="shortcut icon" href="/images/favicon/favicon.ico"><link rel="icon" sizes="16x16 32x32 64x64" href="/images/favicon/favicon.ico"><link rel="icon" type="image/png" sizes="196x196" href="/images/favicon/favicon-192.png"><link rel="icon" type="image/png" sizes="160x160" href="/images/favicon/favicon-160.png"><link rel="icon" type="image/png" sizes="96x96" href="/images/favicon/favicon-96.png"><link rel="icon" type="image/png" sizes="64x64" href="/images/favicon/favicon-64.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32.png"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16.png"><link rel="apple-touch-icon" href="/images/favicon/favicon-57.png"><link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/favicon-114.png"><link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/favicon-72.png"><link rel="apple-touch-icon" sizes="144x144" href="/images/favicon/favicon-144.png"><link rel="apple-touch-icon" sizes="60x60" href="/images/favicon/favicon-60.png"><link rel="apple-touch-icon" sizes="120x120" href="/images/favicon/favicon-120.png"><link rel="apple-touch-icon" sizes="76x76" href="/images/favicon/favicon-76.png"><link rel="apple-touch-icon" sizes="152x152" href="/images/favicon/favicon-152.png"><link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/favicon-180.png"><meta name="msapplication-TileColor" content="#FFFFFF"><meta name="msapplication-TileImage" content="/images/favicon/favicon-144.png"><meta name="msapplication-config" content="/images/favicon/browserconfig.xml"><!-- ****** faviconit.com Favicons ******--></head><body id="rika-body"><div data-role="page"><div style="position:relative"><div id="deploymentStage"></div><img src="/images/RIKA_firenet_Logo.svg" style="width:60%; padding:1em 20% 2em 20%"></div><div role="main" class="ui-content"><b>Existing Users</b><a id="login" href="/web/login" data-role="button" data-icon="fa-sign-in" data-iconpos="right" data-theme="a">Log in</a><p class="mc-top-margin-1-5"></p><b>Need an Account?</b><a id="signup" href="/web/signup" data-role="button" data-icon="fa-pencil-square-o" data-iconpos="right" data-theme="a">Create account</a><p class="mc-top-margin-1-5"> </p><p>In order to use this service you need a RIKA pellet stove that is equipped with the RIKA firenet module</p><p>Please contact <a href='http://www.rika.at' target=_blank> a local dealer </a> for more details.</p></div><div id="about-footer"></div></div><div id="gadiv"><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-71662097-1', 'auto');
ga('send', 'pageview');</script></div></body></html>
2017.09.06 08:13:35 3: ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 21176) line 1.
2017.09.06 08:13:35 5: ofen: looking for Cookies in HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3631
Etag: W/"e2f-jbpBvLM4m9pOpA0HD6+6Dw"
Set-Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8; Path=/; Expires=Wed, 20 Sep 2017 06:13:35 GMT; HttpOnly
Vary: Accept-Encoding
Date: Wed, 06 Sep 2017 06:13:35 GMT
Via: 1.1 vegur
2017.09.06 08:13:35 5: ofen: Set-Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8; Path=/; Expires=Wed, 20 Sep 2017 06:13:35 GMT; HttpOnly
2017.09.06 08:13:35 4: ofen: Cookie: connect.sid Wert s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8 Rest Path=/; Expires=Wed, 20 Sep 2017 06:13:35 GMT; HttpOnly
2017.09.06 08:13:35 5: ofen: ExtractSid called, context reading, num
2017.09.06 08:13:35 5: ofen: CheckAuth is checking buffer with ReAuthRegex id="login"
2017.09.06 08:13:35 4: ofen: CheckAuth decided new authentication required
2017.09.06 08:13:35 4: ofen: Auth called with Steps: 01
2017.09.06 08:13:35 4: ofen: AddToQueue adds auth01, initial queue len: 0, prio
2017.09.06 08:13:35 5: ofen: AddToQueue prepends type auth01 to URL https://www.rika-firenet.com/web/login, data email=ich%40inet.at&password=strenggeheim, no headers, retry 0
2017.09.06 08:13:35 5: ofen: HandleSendQueue called, qlen = 1
2017.09.06 08:13:35 5: ofen: HandleSendQueue is adding Cookies: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8
2017.09.06 08:13:35 4: ofen: HandleSendQueue sends request type auth01 to URL https://www.rika-firenet.com/web/login,
data: email=ich%40inet.at&password=strenggeheim,
header: Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8,
timeout 2
2017.09.06 08:13:35 4: HttpUtils url=https://www.rika-firenet.com/web/login
2017.09.06 08:13:35 4: ofen: AddToQueue adds update, initial queue len: 0
2017.09.06 08:13:35 5: ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/web/stove/xxxxxx, no data, no headers, retry 1
2017.09.06 08:13:35 5: ofen: HandleSendQueue called, qlen = 1
2017.09.06 08:13:35 5: ofen: HandleSendQueue - still waiting for reply to last request, delay sending from queue
2017.09.06 08:13:35 4: ofen: CheckAuth requeued request update after auth, retryCount 0 ...
2017.09.06 08:13:35 5: HttpUtils request header:
POST /web/login HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8
Content-Length: 42
Content-Type: application/x-www-form-urlencoded
2017.09.06 08:13:35 4: https://www.rika-firenet.com/web/login: HTTP response code 302
2017.09.06 08:13:35 4: HttpUtils https://www.rika-firenet.com/web/login: Redirect to https://www.rika-firenet.com:443/web/login
2017.09.06 08:13:35 4: HttpUtils url=https://www.rika-firenet.com:443/web/login
2017.09.06 08:13:36 5: HttpUtils request header:
POST /web/login HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8
Content-Length: 42
Content-Type: application/x-www-form-urlencoded
2017.09.06 08:13:36 4: https://www.rika-firenet.com:443/web/login: HTTP response code 302
2017.09.06 08:13:36 4: HttpUtils https://www.rika-firenet.com:443/web/login: Redirect to https://www.rika-firenet.com:443/web/login
2017.09.06 08:13:36 4: HttpUtils url=https://www.rika-firenet.com:443/web/login
2017.09.06 08:13:36 5: HttpUtils request header:
POST /web/login HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8
Content-Length: 42
Content-Type: application/x-www-form-urlencoded
2017.09.06 08:13:36 4: https://www.rika-firenet.com:443/web/login: HTTP response code 302
2017.09.06 08:13:36 4: HttpUtils https://www.rika-firenet.com:443/web/login: Redirect to https://www.rika-firenet.com:443/web/login
2017.09.06 08:13:36 4: HttpUtils url=https://www.rika-firenet.com:443/web/login
2017.09.06 08:13:36 5: HttpUtils request header:
POST /web/login HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8
Content-Length: 42
Content-Type: application/x-www-form-urlencoded
2017.09.06 08:13:36 5: ofen: HandleSendQueue called, qlen = 1
2017.09.06 08:13:36 5: ofen: HandleSendQueue - still waiting for reply to last request, delay sending from queue
2017.09.06 08:13:36 4: https://www.rika-firenet.com:443/web/login: HTTP response code 302
2017.09.06 08:13:36 4: HttpUtils https://www.rika-firenet.com:443/web/login: Redirect to https://www.rika-firenet.com:443/web/login
2017.09.06 08:13:36 4: HttpUtils url=https://www.rika-firenet.com:443/web/login
2017.09.06 08:13:36 5: HttpUtils request header:
POST /web/login HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8
Content-Length: 42
Content-Type: application/x-www-form-urlencoded
2017.09.06 08:13:37 4: https://www.rika-firenet.com:443/web/login: HTTP response code 302
2017.09.06 08:13:37 4: HttpUtils https://www.rika-firenet.com:443/web/login: Redirect to https://www.rika-firenet.com:443/web/login
2017.09.06 08:13:37 4: HttpUtils url=https://www.rika-firenet.com:443/web/login
2017.09.06 08:13:37 5: HttpUtils request header:
POST /web/login HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8
Content-Length: 42
Content-Type: application/x-www-form-urlencoded
und hier das List
Internals:
BUSY 1
CHANGED
DEF https://www.rika-firenet.com/web/stove/xxxxxx 60
FD 38
HTTPCookies connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8
Interval 60
JSONEnabled 1
LASTSEND 1504679015.74402
LastAuthTry 2017-09-06 08:23:35
MainURL https://www.rika-firenet.com/web/stove/xxxxxx
ModuleVersion 3.3.11 - 8.5.2017
NAME ofen
NR 273
STATE ???
TRIGGERTIME 1504679075.20149
TRIGGERTIME_FMT 2017-09-06 08:24:35
TYPE HTTPMOD
addr https://www.rika-firenet.com:443
buf
code 302
data email=ich%40inet&password=strenggeheim
displayurl https://www.rika-firenet.com:443/web/login
header Cookie: connect.sid=s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8
host www.rika-firenet.com
httpversion 1.0
hu_blocking 0
hu_filecount 103
hu_portSfx
ignoreredirects 0
loglevel 4
path /web/login
protocol https
redirects 1
timeout 2
url https://www.rika-firenet.com:443/web/login
value 0
HTTPCookieHash:
connect.sid:
Options Path=/; Expires=Wed, 20 Sep 2017 06:13:35 GMT; HttpOnly
Value s%3Ad-6eOXb30X6trJQ3Q0ymYHmVxeqk8Czs.otmZnF3pMwFWb5U4ED5JNgpkE%2FqMf6Z4CEH8Se4nnp8
QUEUE:
HASH(0x42091f8)
READINGS:
REQUEST:
data email=ich%40inet&password=strenggeheim
header
ignoreredirects 0
retryCount 0
type auth01
url https://www.rika-firenet.com/web/login
value 0
sslargs:
Attributes:
enableCookies 1
extractAllJSON 1
reAuthRegex id="login"
sid01Data email=ich%40inet&password=strenggeheim
sid01URL https://www.rika-firenet.com/web/login
userattr sid01Data sid01URL sid02Data
verbose 5
Danke Helmut
Anscheinend bist Du nicht erfolgreich eingelogged. Nach der Authentifizierung solltest Du auf der Seite landen, entweder https://www.rika-firenet.com/web/summary wie bei mir, oder direkt auf deinem Ofen, mit HTTP 200 Return Code.
:
2017.09.07 01:58:52 4: https://www.rika-firenet.com:443/web/summary: HTTP response code 200
2017.09.07 01:58:52 4: HttpUtils https://www.rika-firenet.com:443/web/summary: Got data, length: 4838
2017.09.07 01:58:52 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 4838
Etag: W/"12e6-1oYdCv/JIC9coPdszVjxmQ"
Vary: Accept-Encoding
Date: Wed, 06 Sep 2017 23:58:53 GMT
Via: 1.1 vegur
2017.09.07 01:58:52 4: ofen: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 4838
Etag: W/"12e6-1oYdCv/JIC9coPdszVjxmQ"
Vary: Accept-Encoding
Date: Wed, 06 Sep 2017 23:58:53 GMT
Via: 1.1 vegur,
Body: <!DOCTYPE html><html lang="en" dir="ltr"><head><title>RIKA firenet</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- ********** Dynatrace RUM tags ******--><script type="text/javascript" src="https://js-cdn.dynatrace.com/jstag/15a8a271790/hpl92690/f1dedd4f87d6b03a_bs.js" crossorigin="anonymous"></script><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,200"><link rel="stylesheet" href="/assets/rika-firenet.css"><script src="/assets/rika-firenet-en.js"></script><!-- ****** faviconit.com Favicons ******--><link rel="shortcut icon" href="/images/favicon/favicon.ico"><link rel="icon" sizes="16x16 32x32 64x64" href="/images/favicon/favicon.ico"><link rel="icon" type="image/png" sizes="196x196" href="/images/favicon/favicon-192.png"><link rel="icon" type="image/png" sizes="160x160" href="/images/favicon/favicon-160.png"><link rel="icon" type="image/png" sizes="96x96" href="/images/favicon/favicon-96.png"><link rel="icon" type="image/png" sizes="64x64" href="/images/favicon/favicon-64.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32.png"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16.png"><link rel="apple-touch-icon" href="/images/favicon/favicon-57.png"><link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/favicon-114.png"><link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/favicon-72.png"><link rel="apple-touch-icon" sizes="144x144" href="/images/favicon/favicon-144.png"><link rel="apple-touch-icon" sizes="60x60" href="/images/favicon/favicon-60.png"><link rel="apple-touch-icon" sizes="120x120" href="/images/favicon/favicon-120.png"><link rel="apple-touch-icon" sizes="76x76" href="/images/favicon/favicon-76.png"><link rel="apple-touch-icon" sizes="152x152" href="/images/favicon/favicon-152.png"><link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/favicon-180.png"><meta name="msapplication-TileColor" content="#FFFFFF"><meta name="msapplication-TileImage" content="/images/favicon/favicon-144.png"><meta name="msapplication-config" content="/images/favicon/browserconfig.xml"><!-- ****** faviconit.com Favicons ******--></head><body id="rika-body"><div data-role="page"><div id="sidePanel" data-role="panel" data-display="overlay" data-position="right" data-position-fixed="true" data-theme="a"><a id="sidePanelCloseButton" href="#sidePanel"></a><div data-role="controlgroup"><h3>Settings</h3><ul id="sidePanelButtons" data-role="listview" data-inset="true" data-theme="a"><li> <a href="/web/summary" data-theme="a" data-role="button" data-icon="fa-th-list" data-iconpos="left" class="sidePanelButton">Summary</a></li><li> <a href="/web/add" data-theme="a" data-role="button" data-icon="fa-plus" data-iconpos="left" class="sidePanelButton">Add stove</a></li><li> <a href="/web/profile" data-theme="a" data-role="button" data-icon="fa-user" data-iconpos="left" class="sidePanelButton">Manage account</a></li><li> <a href="/web/password" data-theme="a" data-role="button" data-icon="fa-lock" data-iconpos="left" class="sidePanelButton">Change password</a></li><li> <a href="/web/logout" data-theme="a" data-role="button" data-icon="fa-sign-out" data-iconpos="left" class="sidePanelButton">Log out</a></li></ul></div></div><div id="rika-header" data-role="header" data-position="fixed" data-tap-toggle="false"><div class="rika-header-wrapper"><!--+deploymentStage--><a href="/web/" style="float:left"><img src="/images/RIKA-flame.svg" style="height:2.8em; padding: 0.1em;"></a><a id="sidePanelButton" href="#sidePanel"></a><div class="rika-title"><span style="line-height: 1em">Welcome </span><span style="line-height: 1em" class="hide-medium">to RIKA firenet, </span><span style="line-height: 1em"><br>amenomade@yopmail.com</span></div></div></div><div role="main" class="ui-content"><p id="warningbox" onclick="$('#warningbox').fadeOut(500)">Failed to load stove details.</p><div data-role="controlgroup"><h3>Welcome</h3><p>To get started, connect your RIKA pellet stove to your WiFi network and follow the instructions shown on the touch display.</p><a id="addStove" href="/web/add" data-theme="a" data-role="button" data-icon="fa-plus" data-iconpos="right">Add Stove</a></div></div></div><div id="gadiv"><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-71662097-1', 'auto');
ga('send', 'pageview');</script></div></body></html>
2017.09.07 01:58:52 3: ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 118) line 1.
2017.09.07 01:58:52 5: ofen: looking for Cookies in HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 4838
Etag: W/"12e6-1oYdCv/JIC9coPdszVjxmQ"
Vary: Accept-Encoding
Date: Wed, 06 Sep 2017 23:58:53 GMT
Via: 1.1 vegur
2017.09.07 01:58:52 5: ofen: ExtractSid called, context reading, num
2017.09.07 01:58:52 5: ofen: CheckAuth is checking buffer with ReAuthRegex id="login"
2017.09.07 01:58:52 4: ofen: CheckAuth decided no authentication required
2017.09.07 01:58:52 3: ofen: no parsed JSON structure available
2017.09.07 01:58:52 5: ofen: UpdateReadingList created list of reading.* nums to parse during getUpdate as
2017.09.07 01:58:52 5: ofen: Read starts parsing response to update with defined readings:
2017.09.07 01:58:52 3: ofen: Read response to update didn't match any Reading
2017.09.07 01:58:52 5: ofen: HandleSendQueue called, qlen = 0
Bei mir ergibt natürlich die URL https://www.rika-firenet.com/web/stove/xxxxxx "Failed to load stove details." (fast ganz rechts) da ich keinen Ofen bei Rika habe... Aber eingeloggt bin ich schon.
Bei dir kommt mal wieder auf das Redirect (302) auf der Login Seite. Oder du hast nicht die ganze log gepostet. Du bist aber nicht mehr weit.
Zitatsid01Data email=ich%40inet&password=strenggeheim
Es fehlt was nach "inet" im email oder hast Du nur zu viel anonymisiert fürs posten?
Servus
nein da scheint nichts zu fehlen.
Wenn ich darf ändere ich das PW bei Rika und sende dir die Daten per PM??
Würdest mir sehr helfen -
Herzlichen Dank
Helmut
Ja natürlich darfst Du. Ich komme aber wahrscheinlich erst heute spät Abends drauf.
Mache ich und Danke
... und ich würde mich sehr freuen, wenn die Lösung zum Schluss vorgestellt und ein wenig erläutert werden könnte. Ich habe nämlich etwas Ähnliches vor und mich schon am Kopf gekratzt, wie das mit dem Login gehen soll.
Vielen Dank
sagt schon mal
Frank!
defmod ofen HTTPMOD https://www.rika-firenet.com/api/client/nnnnnnnn/status 60
attr ofen enableCookies 1
attr ofen reAuthRegex id="login"|Unauthorized
attr ofen reading01JSON sensors_inputRoomTemperature
attr ofen reading01Name RaumTemp
attr ofen sid01Data email=name@domain.suffix&password=geheim
attr ofen sid01URL https://www.rika-firenet.com/web/login
- email= genau wie in deiner PN. Password= genau wie deiner PN.
- enableCookies, weil die Webseite ein sid Cookie pflegt. Das sieht man in jeder Seite in den Headers.
- reAuthRegex ist eine Regex, die die beide mögliche Antworte identifiziert, wenn ein Login angefordert wird: entweder wird man auf der Login Seite umgeleitet, oder die API antwortet mit HTTP 401 Unauthorized.
- Wenn Httpmod sieht, dass diese Regex matcht, startet er ein Login Prozess. Dafür nutzt er die sidxxxxxxx Attribute. Hier ist es ganz einfach: auf sid01URL, schicke ich sid01Data. Das kann man z.B. in Burpsuite sehen.
Das Verfahren ist letztendlich so:
- rufe https://www.rika-firenet.com/api/client/nnnnnnnn/status
- bekomme "Unauthorized" => login Verfahren
- post email=name@domain.suffix&password=geheim auf https://www.rika-firenet.com/web/login
- nach erfolgreichem Login macht er - warum auch immer - ein redirect 302 auf /web/summary mit HTTP 404 not found Antwort. Egal.
- rufe wieder https://www.rika-firenet.com/api/client/nnnnnnnn/status
- HTTP 200 OK => Daten sind da
2017.09.08 00:37:09 4: ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/nnnnnnnn/status
2017.09.08 00:37:09 4: HttpUtils url=https://www.rika-firenet.com/api/client/nnnnnnnn/status
2017.09.08 00:37:09 4: https://www.rika-firenet.com/api/client/nnnnnnnn/status: HTTP response code 401
2017.09.08 00:37:09 4: HttpUtils https://www.rika-firenet.com/api/client/nnnnnnnn/status: Got data, length: 23
2017.09.08 00:37:09 4: ofen: Read callback: request type was update retry 0,
Header: HTTP/1.1 401 Unauthorized
...
2017.09.08 00:37:09 4: ofen: Cookie: connect.sid Wert s%3A4aqtrATi4G5Bwn9UWXcVLhj_TRSKLuRM.v7jCC%2FBzzWdcB4yzyJN6Ci41dqb0iboB1U2q4fftfew Rest Path=/; HttpOnly
2017.09.08 00:37:09 4: ofen: CheckAuth decided new authentication required
2017.09.08 00:37:09 4: ofen: Auth called with Steps: 01
2017.09.08 00:37:09 4: ofen: AddToQueue adds auth01, initial queue len: 0, prio
2017.09.08 00:37:09 4: ofen: HandleSendQueue sends request type auth01 to URL https://www.rika-firenet.com/web/login,
data: email=name@domain.suffix&password=geheim,
2017.09.08 00:37:09 4: https://www.rika-firenet.com/web/login: HTTP response code 302
2017.09.08 00:37:09 4: HttpUtils https://www.rika-firenet.com/web/login: Redirect to https://www.rika-firenet.com:443/web/summary
2017.09.08 00:37:09 4: HttpUtils url=https://www.rika-firenet.com:443/web/summary
2017.09.08 00:37:10 4: https://www.rika-firenet.com:443/web/summary: HTTP response code 404
2017.09.08 00:37:10 4: HttpUtils url=https://www.rika-firenet.com/api/client/nnnnnnnn/status
2017.09.08 00:37:10 4: https://www.rika-firenet.com/api/client/nnnnnnnn/status: HTTP response code 200
2017.09.08 00:37:10 4: HttpUtils https://www.rika-firenet.com/api/client/nnnnnnnn/status: Got data, length: 1187
Die Antwort ist letztendlich eine JSON String, wie in deinem ersten Post. Mit reading01Name / reading01JSON wird das gewünschte Reading extrahiert. Mit attr extractAllJSON kannst Du sehen, was noch als readingXXJSON möglich wäre.
EDIT: noch ein Hinweis, wenn Du das Passwort wieder änderst: HTTPMOD bleibt verbunden, so lange kein Timeout oder Unterbrechung der Kommunikation. Um ein neues Login zu zwingen, entweder das HTTPMOD auf "attr disable 1" setzen, bis Sitzungstimeout (ich weiss nicht wie lange), oder fhem neu starten.
PS: laut view-source:https://www.rika-firenet.com/assets/stove.js sollte es auch möglich sein, "set" Kommandos auf dem HTTPMOD zu definieren, um die verschiedenen "controls" von deinem ersten Post zu steuern.
Zitatfunction sendChangesToServer(){var a=getControlsJSON();$.post("/api/client/"+document.stoveID+"/controls",a,function(a){})
Siehe "Configuration to define a set command and send data to a device" in https://fhem.de/commandref.html#HTTPMOD
Guten Morgen amenomade
herzlichen Dank. Erstens Problem gelöst und zweitens diese super Erklärung dazu.
Werde mir das ganz sicher noch mit Burp ansehen und hoffe dass ich es dann noch besser verstehe.
Eine letzte Frage noch: beim Device Ofen selbst stehen ??? der Wert Raumtemperatur steht im Reading richtig und wird im Moment
auch jede Minute geändert.
Nochmals herzlichen Dank - werde den Thread mit gelöst markieren
Schönen Tag und schönes Wochenende
Helmut
Zitatine letzte Frage noch: beim Device Ofen selbst stehen ??? der Wert Raumtemperatur steht im Reading richtig und wird im Moment
auch jede Minute geändert.
Und wo ist die Frage?
Wenn Du im State etwas haben willst, musst Du mit attr stateFormat spielen. Z.B.
attr ofen stateFormat Aktuelle RaumTemperature: RaumTemp
Huch sorry da hat der Mac wieder mal was von alleine geschrieben (berichtigt)und ich habe es nicht bemerkt
Beim Device selbst stehen drei Fragezeichen
Aber das hast du mir ja auch soeben beantwortet
Nochmals herzlichen Dank
Hoffe fiedel hat nun auch mehr Überblick
Nice w/e Helmut
Zitat von: Helmi55 am 08 September 2017, 16:02:33
Hoffe fiedel hat nun auch mehr Überblick
Nochmals vielen Dank! Ich denke mal der Input wird mich gut weiter bringen... :)
Der Danke gilt NUR amenomade
Nice Weekend
Hallo guten Abend
ich benötige bitte nochmals deine Unterstützung mit dem "SendenBefehl"
Ich habe folgendes eingetragen:
set01Data {"set" : {"controls_frostProtectionTemperature" :"$val" }}
set01Hint 3,5,7,10
set01Max 10
set01Min 3
set01Name FrostschutzTemp
set01URL https://www.rika-firenet.com/web/login
Das habe ich im Log
2017.09.10 19:19:35 3: Ofen: Defined with URL https://www.rika-firenet.com/api/client/54156160/status and interval 600
2017.09.10 19:19:35 1: Including ./log/fhem.save
2017.09.10 19:19:38 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Authorisation requir...") at (eval 9713) line 1.
2017.09.10 19:19:38 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 9716) line 1.
2017.09.10 19:20:42 3: Ofen: Read callback: Error: https://www.rika-firenet.com:443/web/login: Too many redirects
Gehört hier nicht noch das Login (User/PW) mitgeschickt? Aber wie?
Eingetragen ist es ja in sid01Data?
Kann Stunden mir bitte nochmals helfen - Danke und nice eve
Helmut
ZitatGehört hier nicht noch das Login (User/PW) mitgeschickt? Aber wie?
Nein, grundsätzlich hast Du schon das Login Verfahren wenn es benötigt wird.
Deswegen musst Du auch nicht die "login" URL aufrufen, sondern die "set" URL wie im Post oben:
Zitat/api/client/"+document.stoveID+"/controls
Also
https://www.rika-firenet.com/api/client/nnnnnnnn/controls
Am besten schaust Du den Trafic mit Burp und guckst was tatsächlich versendet (POST) wird, wenn Du auf irgendwelchen Knopf in der Webseite drückst.
Servus
also BURP wird mich noch eine Weile beschäftigen nach dieser Anleitung (https://support.portswigger.net/customer/portal/articles/1783066-configuring-firefox-to-work-with-burp) bekomme ich keine Verbindung mehr mit dem Fuchs? - Gut ist ein anderes Thema
Kannst d mir bitte noch weiterhelfen - wenn es aus der Ferne möglich ist
Wenn ich z.B den Befehl set Ofen Frostschutztemp 3 absetzte bekomme ich folgende Fehlermeldung
2017.09.11 12:40:09 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Missing value for el...") at (eval 12205) line 1.
Vielen Dank
Helmut
Der Fehler kommt wahrscheinlich vom Parsing der Antwort. Irgendwo soltest Du das ganze in der Log haben:
ZitatMissing value for el...
Du musst m.A. mindestens ein JSON bauen, das mit der Syntax vom ersten Post dieses Threads passt (hab ich leider nicht mehr ganz im Kopf)
{"name": "Vorzimmer", "stoveID": "xxxxxxxxx", "controls": {"frostProtectionTemperature": "$val"}}
Hallo
Also ich habe jetzt für die Abfrage ein
reading03JSON controls_frostProtectionTemperature
gebaut.
Zum Senden dachte ich set01Data {"set" : {"controls_frostProtectionTemperature" :"$val" }}
So wie in der CommandREf attr PM set01Data {"set" :{"34.3118.value" :"$val" }}
Jetzt habe ich wie in einem anderen post gelesen, die set01Data weggelassen und dafür
die set01URL angepasst https://www.rika-firenet.com/api//client/xxxxxx/controls?controls_frostProtectionTemperature=$val
Leider auch ohne Erfolg
Danke
Helmut
Eher
set01Name FrostSchutzTemp
set01URL https://www.rika-firenet.com/api//client/xxxxxx/controls
set01Data {"name": "Vorzimmer", "stoveID": "xxxxxxxxx", "controls": {"frostProtectionTemperature": "$val"}}
servus
hab das jetzt so geändert und diese Meldungen im Log bekommen
2017.09.11 15:55:44 5: Ofen: looking for Cookies in HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-4u7H37wUSq9C/0v0MojPIA"
Vary: Accept-Encoding
Date: Mon, 11 Sep 2017 13:55:44 GMT
Via: 1.1 vegur
2017.09.11 15:55:44 5: Ofen: ExtractSid called, context reading, num
2017.09.11 15:55:44 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.11 15:55:44 4: Ofen: CheckAuth decided no authentication required
2017.09.11 15:55:44 5: Ofen: Read set JSON lastSeenMinutes as reading lastSeenMinutes to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_convectionFan2Level as reading controls_convectionFan2Level to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_outputInsertionMotor as reading sensors_outputInsertionMotor to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_outputAirFlaps as reading sensors_outputAirFlaps to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_heatingTimesActiveForComfort as reading controls_heatingTimesActiveForComfort to value true
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_parameterStoveTypeNumber as reading sensors_parameterStoveTypeNumber to value 13
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_operatingMode as reading controls_operatingMode to value 2
2017.09.11 15:55:44 5: Ofen: Read set JSON lastConfirmedRevision as reading lastConfirmedRevision to value 1505137889
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_statusWarning as reading sensors_statusWarning to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON stoveType as reading stoveType to value DOMO MultiAir
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_convectionFan1Area as reading controls_convectionFan1Area to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_setBackTemperature as reading controls_setBackTemperature to value 18
2017.09.11 15:55:44 5: Ofen: Read set JSON stoveFeatures_airFlaps as reading stoveFeatures_airFlaps to value false
2017.09.11 15:55:44 5: Ofen: Read set JSON stoveFeatures_logRuntime as reading stoveFeatures_logRuntime to value false
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_inputFlameTemperature as reading sensors_inputFlameTemperature to value 22
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_convectionFan2Active as reading controls_convectionFan2Active to value false
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_statusSubState as reading sensors_statusSubState to value 3
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_convectionFan1Level as reading controls_convectionFan1Level to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_inputExternalRequest as reading sensors_inputExternalRequest to value true
2017.09.11 15:55:44 5: Ofen: Read set JSON stoveFeatures_multiAir1 as reading stoveFeatures_multiAir1 to value true
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_inputRoomTemperature as reading sensors_inputRoomTemperature to value 22
2017.09.11 15:55:44 5: Ofen: Read set JSON stoveFeatures_multiAir2 as reading stoveFeatures_multiAir2 to value true
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_parameterVersionTFT as reading sensors_parameterVersionTFT to value 223
2017.09.11 15:55:44 5: Ofen: Read set JSON stoveID as reading stoveID to value xxxxxx
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_parameterOnOffCycles as reading sensors_parameterOnOffCycles to value 2
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_outputDischargeMotor as reading sensors_outputDischargeMotor to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_heatingPower as reading controls_heatingPower to value 65
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_statusError as reading sensors_statusError to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_outputIDFan as reading sensors_outputIDFan to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_outputIgnition as reading sensors_outputIgnition to value false
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_frostProtectionActive as reading controls_frostProtectionActive to value false
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_onOff as reading controls_onOff to value true
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_convectionFan2Area as reading controls_convectionFan2Area to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_statusFrostStarted as reading sensors_statusFrostStarted to value false
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_parameterVersionMainBoard as reading sensors_parameterVersionMainBoard to value 223
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_parameterFeedRateTotal as reading sensors_parameterFeedRateTotal to value 34
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_revision as reading controls_revision to value 1505137889
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_frostProtectionTemperature as reading controls_frostProtectionTemperature to value 4
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_convectionFan1Active as reading controls_convectionFan1Active to value false
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_statusMainState as reading sensors_statusMainState to value 1
2017.09.11 15:55:44 5: Ofen: Read set JSON name as reading name to value Vorzimmer
2017.09.11 15:55:44 5: Ofen: Read set JSON stoveFeatures_insertionMotor as reading stoveFeatures_insertionMotor to value false
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_parameterRuntimePellets as reading sensors_parameterRuntimePellets to value 22
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_parameterRuntimeLogs as reading sensors_parameterRuntimeLogs to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_statusService as reading sensors_statusService to value 0
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_heatingTimesActive as reading controls_heatingTimesActive to value false
2017.09.11 15:55:44 5: Ofen: Read set JSON controls_targetTemperature as reading controls_targetTemperature to value 24
2017.09.11 15:55:44 5: Ofen: Read set JSON sensors_parameterFeedRateService as reading sensors_parameterFeedRateService to value 666
2017.09.11 15:55:44 5: Ofen: Read starts parsing response to update with defined readings: 01,02,03
2017.09.11 15:55:44 5: Ofen: ExtractReading RaumTemp with json sensors_inputRoomTemperature ...
2017.09.11 15:55:44 4: Ofen: ExtractReading for reading01-1 sets RaumTemp to 22
2017.09.11 15:55:44 5: Ofen: ExtractReading Absenkung with json controls_setBackTemperature ...
2017.09.11 15:55:44 4: Ofen: ExtractReading for reading02-1 sets Absenkung to 18
2017.09.11 15:55:44 5: Ofen: ExtractReading Frostschutz with json controls_frostProtectionTemperature ...
2017.09.11 15:55:44 4: Ofen: ExtractReading for reading03-1 sets Frostschutz to 4
2017.09.11 15:55:44 4: Ofen: Read response to update matched Reading(s) lastSeenMinutes controls_convectionFan2Level sensors_outputInsertionMotor sensors_outputAirFlaps controls_heatingTimesActiveForComfort sensors_parameterStoveTypeNumber controls_operatingMode lastConfirmedRevision sensors_statusWarning stoveType controls_convectionFan1Area controls_setBackTemperature stoveFeatures_airFlaps stoveFeatures_logRuntime sensors_inputFlameTemperature controls_convectionFan2Active sensors_statusSubState controls_convectionFan1Level sensors_inputExternalRequest stoveFeatures_multiAir1 sensors_inputRoomTemperature stoveFeatures_multiAir2 sensors_parameterVersionTFT stoveID sensors_parameterOnOffCycles sensors_outputDischargeMotor controls_heatingPower sensors_statusError sensors_outputIDFan sensors_outputIgnition controls_frostProtectionActive controls_onOff controls_convectionFan2Area sensors_statusFrostStarted sensors_parameterVersionMainBoard sensors_parameterFeedRateTotal controls_revision controls_frostProtectionTemperature controls_convectionFan1Active sensors_statusMainState name stoveFeatures_insertionMotor sensors_parameterRuntimePellets sensors_parameterRuntimeLogs sensors_statusService controls_heatingTimesActive controls_targetTemperature sensors_parameterFeedRateService RaumTemp Absenkung Frostschutz
2017.09.11 15:55:44 5: Ofen: HandleSendQueue called, qlen = 0
2017.09.11 15:55:45 5: Ofen: set called with FrostschutzTemp 10
2017.09.11 15:55:45 5: Ofen: set found option FrostschutzTemp in attribute set01Name
2017.09.11 15:55:45 5: Ofen: is checking value 10 against min 3
2017.09.11 15:55:45 5: Ofen: set is checking value 10 against max 10
2017.09.11 15:55:45 4: Ofen: set will now set FrostschutzTemp -> 10
2017.09.11 15:55:45 4: Ofen: AddToQueue adds set01, initial queue len: 0
2017.09.11 15:55:45 5: Ofen: AddToQueue adds type set01 to URL https://www.rika-firenet.com/api//client/xxxxxx/controls?controls, data {"name": "Vorzimmer", "stoveID": "xxxxxx", "controls": {"frostProtectionTemperature": "$val"}}, no headers, retry 0
2017.09.11 15:55:45 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.11 15:55:45 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3AiD_b5dsMWnIYWa9WJHxb7UsEvdWBM-8X.vz1fEENht5lo3Gul2gTFTFI6dfK%2F1bm1yTwO0GcCzg8
2017.09.11 15:55:45 4: Ofen: HandleSendQueue sends request type set01 to URL https://www.rika-firenet.com/api//client/xxxxxx/controls?controls,
data: {"name": "Vorzimmer", "stoveID": "xxxxxx", "controls": {"frostProtectionTemperature": "10"}},
header: Cookie: connect.sid=s%3AiD_b5dsMWnIYWa9WJHxb7UsEvdWBM-8X.vz1fEENht5lo3Gul2gTFTFI6dfK%2F1bm1yTwO0GcCzg8,
timeout 2
2017.09.11 15:55:45 4: HttpUtils url=https://www.rika-firenet.com/api//client/xxxxxx/controls?controls
2017.09.11 15:55:45 5: HttpUtils request header:
POST /api//client/xxxxxx/controls?controls HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3AiD_b5dsMWnIYWa9WJHxb7UsEvdWBM-8X.vz1fEENht5lo3Gul2gTFTFI6dfK%2F1bm1yTwO0GcCzg8
Content-Length: 94
Content-Type: application/x-www-form-urlencoded
2017.09.11 15:55:45 4: https://www.rika-firenet.com/api//client/xxxxxx/controls?controls: HTTP response code 500
2017.09.11 15:55:45 4: HttpUtils https://www.rika-firenet.com/api//client/xxxxxx/controls?controls: Got data, length: 34
2017.09.11 15:55:45 5: HttpUtils response header:
HTTP/1.1 500 Internal Server Error
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 34
Etag: W/"22-EZfJUw/3xe4rFbN/z7Va5A"
Vary: Accept-Encoding
Date: Mon, 11 Sep 2017 13:55:45 GMT
Via: 1.1 vegur
2017.09.11 15:55:45 4: Ofen: Read callback: request type was set01 retry 0,
Header: HTTP/1.1 500 Internal Server Error
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 34
Etag: W/"22-EZfJUw/3xe4rFbN/z7Va5A"
Vary: Accept-Encoding
Date: Mon, 11 Sep 2017 13:55:45 GMT
Via: 1.1 vegur,
Body: Missing value for element revision
2017.09.11 15:55:45 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Missing value for el...") at (eval 13187) line 1.
2017.09.11 15:55:45 5: Ofen: looking for Cookies in HTTP/1.1 500 Internal Server Error
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 34
Etag: W/"22-EZfJUw/3xe4rFbN/z7Va5A"
Vary: Accept-Encoding
Date: Mon, 11 Sep 2017 13:55:45 GMT
Via: 1.1 vegur
2017.09.11 15:55:45 5: Ofen: ExtractSid called, context set, num 01
2017.09.11 15:55:45 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.11 15:55:45 4: Ofen: CheckAuth decided no authentication required
Jetzt sehe ich auch deine obige Meldung. Missing Value
Gruß
helmut
Naja, das hab ich befürchtet. Man muss dann anscheinend die komplette JSON String aufbauen...
Ich gucke heute Abend.
Folgendes wäre noch testen:
In 99_myUtils.pm, ganz oben nach den anderen use, wenn noch nicht vorhanden:
use JSON;
Dann unten, vor dem "1;"
sub replaceJSON ($$) {
my ($reading, $value) = @_;
my $json = ReadingsVal("ofen", "controlsJSON","");
my $decoded = decode_json($json);
$decoded->{"$reading"} = $value;
my $result = encode_json($decoded);
return $result;
}
Auf dem HttpMod:
attr ofen reading10Name controlsJSON
attr ofen reading10Regex (?s)controls.*?({.*?})
Damit holen wir die gesamte Json String von den controls, die wir dann zur Funktion übergeben werden. Dann versuchen wir den "set":
attr ofen replacement11Mode expression
attr ofen replacement11Regex data
attr ofen replacement11Value replaceJSON("frostProtectionTemperature", $val)
attr ofen set11Data data
attr ofen set11Name frostProtectionTemperature
Dann testen mit "set ofen frostProtectionTemperature 3"
Ich weiss nicht, ob $val mit dem benutzerdefiniertes Replacementmodus kombinierbar ist. Mal sehen. Sonst probieren wir was anderes.
Guten Morgen
also das steht so sicher nicht in der CommandRef?
Du bist genial-
Die controlsJSON kommen nun
controlsJSON
{"revision":1505193752,"onOff":true,"operatingMode":0,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
Wenn ich das attr setze attr ofen replacement11Value replaceJSON("frostProtectionTemperature", $val)
Bekomme ich diese Fehlermeldung
Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", $val): Global symbol "$val" requires explicit package name at (eval 17526) line 1.
LG
Helmut
Ok, damit ist das bestätigt:
Zitat von: amenomade am 12 September 2017, 01:44:31
Ich weiss nicht, ob $val mit dem benutzerdefiniertes Replacementmodus kombinierbar ist. Mal sehen. Sonst probieren wir was anderes.
;)
Ich melde mich
Also... ich kriege die richtige Post Data mit:
99_myUtils :
sub replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("ofen", "value", 2);
Log3 ("ofen", 3, "replaceJSON Internalvalue: $value");
my $json = ReadingsVal("ofen", "controlsJSON","");
my $decoded = decode_json($json);
$decoded->{"$valToReplace"} = $value + 0;
my $result = encode_json($decoded);
Log3("ofen", 3, "replaceJSON Result: $result");
return $result;
}
Die Funktion werde ich noch anpassen, wenn es funktioniert, damit Du die für andere Set Kommandos auch nutzen kannst, die nicht numerisch sind.
HTTPMOD:
defmod ofen HTTPMOD https://www.rika-firenet.com/api/client/nnnnnnnn/status 60
attr ofen enableCookies 1
attr ofen reAuthRegex id="login"|Unauthorized
attr ofen reading01JSON sensors_inputRoomTemperature
attr ofen reading01Name RaumTemp
attr ofen sid01Data email=name@domain.suffix&password=geheim
attr ofen sid01URL https://www.rika-firenet.com/web/login
attr ofen reading10Name controlsJSON
attr ofen reading10Regex (?s)controls.*?({.*?})
attr ofen set11Name frostProtectionTemperature
attr ofen set11URL https://www.rika-firenet.com/api//client/xxxxxx/controls
attr ofen replacement11Mode expression
attr ofen replacement11Regex data
attr ofen replacement11Value replaceJSON("frostProtectionTemperature", 2)
attr ofen set11Data data
attr ofen verbose 5
Servus die 99 myUtil habe ich angepasst
und wenn ich nun das attr attr ofen replacement11Value replaceJSON("frostProtectionTemperature", 2)
setzen will bekomme ich diese Fehlermeldung
Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 27.
Zeile27 ist diese
my $decoded = decode_json($json);
Zeig mal bitte die gesamte Log, und ein "list ofen" bitte
Servus
hier ein list Ofen
Internals:
BUSY 0
DEF https://www.rika-firenet.com/api/client/xxxxxx/status 60
HTTPCookies connect.sid=s%3AjFTnw134-Eg2EosZAvCfuNnhD4CM3qFN.6jX40BBlDVJ5AdUdrb%2B%2BCcOh77ZQS%2FuE%2BKD1JnRy7W4
Interval 60
JSONEnabled 1
LASTSEND 1505242282.65341
LastAuthTry 2017-09-12 14:26:21
MainURL https://www.rika-firenet.com/api/client/xxxxxx/status
ModuleVersion 3.4.0 - 9.9.2017
NAME Ofen
NR 271
ReplacementEnabled 1
STATE T: 24
TRIGGERTIME 1505242342.65212
TRIGGERTIME_FMT 2017-09-12 20:52:22
TYPE HTTPMOD
addr https://www.rika-firenet.com:443
buf
code 200
conn
data
displayurl https://www.rika-firenet.com/api/client/xxxxxx/status
header Cookie: connect.sid=s%3AjFTnw134-Eg2EosZAvCfuNnhD4CM3qFN.6jX40BBlDVJ5AdUdrb%2B%2BCcOh77ZQS%2FuE%2BKD1JnRy7W4
host www.rika-firenet.com
httpheader HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-H6GpuBvv37Woxt+p09dx1A"
Vary: Accept-Encoding
Date: Tue, 12 Sep 2017 18:51:22 GMT
Via: 1.1 vegur
httpversion 1.0
hu_blocking 0
hu_filecount 389
hu_port 443
hu_portSfx
ignoreredirects 0
loglevel 4
path /api/client/xxxxxx/status
protocol https
redirects 0
timeout 2
url https://www.rika-firenet.com/api/client/xxxxxx/status
value 0
HTTPCookieHash:
connect.sid:
Options Path=/; HttpOnly
Value s%3AjFTnw134-Eg2EosZAvCfuNnhD4CM3qFN.6jX40BBlDVJ5AdUdrb%2B%2BCcOh77ZQS%2FuE%2BKD1JnRy7W4
QUEUE:
READINGS:
2017-09-12 20:51:22 Absenkung 18
2017-09-12 20:51:22 Frostschutz 4
2017-09-12 20:51:22 RaumTemp 24
2017-09-12 20:51:22 controlsJSON {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017-09-12 20:51:22 controls_convectionFan1Active false
2017-09-12 20:51:22 controls_convectionFan1Area 0
2017-09-12 20:51:22 controls_convectionFan1Level 0
2017-09-12 20:51:22 controls_convectionFan2Active false
2017-09-12 20:51:22 controls_convectionFan2Area 0
2017-09-12 20:51:22 controls_convectionFan2Level 0
2017-09-12 20:51:22 controls_frostProtectionActive false
2017-09-12 20:51:22 controls_frostProtectionTemperature 4
2017-09-12 20:51:22 controls_heatingPower 65
2017-09-12 20:51:22 controls_heatingTimesActive false
2017-09-12 20:51:22 controls_heatingTimesActiveForComfort true
2017-09-12 20:51:22 controls_onOff true
2017-09-12 20:51:22 controls_operatingMode 2
2017-09-12 20:51:22 controls_revision 1505198797
2017-09-12 20:51:22 controls_setBackTemperature 18
2017-09-12 20:51:22 controls_targetTemperature 24
2017-09-12 20:51:22 lastConfirmedRevision 1505198797
2017-09-12 20:51:22 lastSeenMinutes 0
2017-09-12 20:51:22 name Vorzimmer
2017-09-12 20:51:22 sensors_inputExternalRequest true
2017-09-12 20:51:22 sensors_inputFlameTemperature 44
2017-09-12 20:51:22 sensors_inputRoomTemperature 24
2017-09-12 20:51:22 sensors_outputAirFlaps 0
2017-09-12 20:51:22 sensors_outputDischargeMotor 0
2017-09-12 20:51:22 sensors_outputIDFan 0
2017-09-12 20:51:22 sensors_outputIgnition false
2017-09-12 20:51:22 sensors_outputInsertionMotor 0
2017-09-12 20:51:22 sensors_parameterFeedRateService 660
2017-09-12 20:51:22 sensors_parameterFeedRateTotal 40
2017-09-12 20:51:22 sensors_parameterOnOffCycles 2
2017-09-12 20:51:22 sensors_parameterRuntimeLogs 0
2017-09-12 20:51:22 sensors_parameterRuntimePellets 26
2017-09-12 20:51:22 sensors_parameterStoveTypeNumber 13
2017-09-12 20:51:22 sensors_parameterVersionMainBoard 223
2017-09-12 20:51:22 sensors_parameterVersionTFT 223
2017-09-12 20:51:22 sensors_statusError 0
2017-09-12 20:51:22 sensors_statusFrostStarted false
2017-09-12 20:51:22 sensors_statusMainState 1
2017-09-12 20:51:22 sensors_statusService 0
2017-09-12 20:51:22 sensors_statusSubState 3
2017-09-12 20:51:22 sensors_statusWarning 0
2017-09-12 20:51:22 stoveFeatures_airFlaps false
2017-09-12 20:51:22 stoveFeatures_insertionMotor false
2017-09-12 20:51:22 stoveFeatures_logRuntime false
2017-09-12 20:51:22 stoveFeatures_multiAir1 true
2017-09-12 20:51:22 stoveFeatures_multiAir2 true
2017-09-12 20:51:22 stoveID xxxxxx
2017-09-12 20:51:22 stoveType DOMO MultiAir
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url https://www.rika-firenet.com/api/client/xxxxxx/status
value 0
defptr:
readingBase:
Absenkung reading
Frostschutz reading
RaumTemp reading
controlsJSON reading
controls_convectionFan1Active reading
controls_convectionFan1Area reading
controls_convectionFan1Level reading
controls_convectionFan2Active reading
controls_convectionFan2Area reading
controls_convectionFan2Level reading
controls_frostProtectionActive reading
controls_frostProtectionTemperature reading
controls_heatingPower reading
controls_heatingTimesActive reading
controls_heatingTimesActiveForComfort reading
controls_onOff reading
controls_operatingMode reading
controls_revision reading
controls_setBackTemperature reading
controls_targetTemperature reading
lastConfirmedRevision reading
lastSeenMinutes reading
name reading
sensors_inputExternalRequest reading
sensors_inputFlameTemperature reading
sensors_inputRoomTemperature reading
sensors_outputAirFlaps reading
sensors_outputDischargeMotor reading
sensors_outputIDFan reading
sensors_outputIgnition reading
sensors_outputInsertionMotor reading
sensors_parameterFeedRateService reading
sensors_parameterFeedRateTotal reading
sensors_parameterOnOffCycles reading
sensors_parameterRuntimeLogs reading
sensors_parameterRuntimePellets reading
sensors_parameterStoveTypeNumber reading
sensors_parameterVersionMainBoard reading
sensors_parameterVersionTFT reading
sensors_statusError reading
sensors_statusFrostStarted reading
sensors_statusMainState reading
sensors_statusService reading
sensors_statusSubState reading
sensors_statusWarning reading
stoveFeatures_airFlaps reading
stoveFeatures_insertionMotor reading
stoveFeatures_logRuntime reading
stoveFeatures_multiAir1 reading
stoveFeatures_multiAir2 reading
stoveID reading
stoveType reading
readingNum:
Absenkung 02
Frostschutz 03
RaumTemp 01
controlsJSON 10
controls_convectionFan1Active
controls_convectionFan1Area
controls_convectionFan1Level
controls_convectionFan2Active
controls_convectionFan2Area
controls_convectionFan2Level
controls_frostProtectionActive
controls_frostProtectionTemperature
controls_heatingPower
controls_heatingTimesActive
controls_heatingTimesActiveForComfort
controls_onOff
controls_operatingMode
controls_revision
controls_setBackTemperature
controls_targetTemperature
lastConfirmedRevision
lastSeenMinutes
name
sensors_inputExternalRequest
sensors_inputFlameTemperature
sensors_inputRoomTemperature
sensors_outputAirFlaps
sensors_outputDischargeMotor
sensors_outputIDFan
sensors_outputIgnition
sensors_outputInsertionMotor
sensors_parameterFeedRateService
sensors_parameterFeedRateTotal
sensors_parameterOnOffCycles
sensors_parameterRuntimeLogs
sensors_parameterRuntimePellets
sensors_parameterStoveTypeNumber
sensors_parameterVersionMainBoard
sensors_parameterVersionTFT
sensors_statusError
sensors_statusFrostStarted
sensors_statusMainState
sensors_statusService
sensors_statusSubState
sensors_statusWarning
stoveFeatures_airFlaps
stoveFeatures_insertionMotor
stoveFeatures_logRuntime
stoveFeatures_multiAir1
stoveFeatures_multiAir2
stoveID
stoveType
readingOutdated:
requestReadings:
update:
Absenkung reading 02
Frostschutz reading 03
RaumTemp reading 01
controlsJSON reading 10
controls_convectionFan1Active reading
controls_convectionFan1Area reading
controls_convectionFan1Level reading
controls_convectionFan2Active reading
controls_convectionFan2Area reading
controls_convectionFan2Level reading
controls_frostProtectionActive reading
controls_frostProtectionTemperature reading
controls_heatingPower reading
controls_heatingTimesActive reading
controls_heatingTimesActiveForComfort reading
controls_onOff reading
controls_operatingMode reading
controls_revision reading
controls_setBackTemperature reading
controls_targetTemperature reading
lastConfirmedRevision reading
lastSeenMinutes reading
name reading
sensors_inputExternalRequest reading
sensors_inputFlameTemperature reading
sensors_inputRoomTemperature reading
sensors_outputAirFlaps reading
sensors_outputDischargeMotor reading
sensors_outputIDFan reading
sensors_outputIgnition reading
sensors_outputInsertionMotor reading
sensors_parameterFeedRateService reading
sensors_parameterFeedRateTotal reading
sensors_parameterOnOffCycles reading
sensors_parameterRuntimeLogs reading
sensors_parameterRuntimePellets reading
sensors_parameterStoveTypeNumber reading
sensors_parameterVersionMainBoard reading
sensors_parameterVersionTFT reading
sensors_statusError reading
sensors_statusFrostStarted reading
sensors_statusMainState reading
sensors_statusService reading
sensors_statusSubState reading
sensors_statusWarning reading
stoveFeatures_airFlaps reading
stoveFeatures_insertionMotor reading
stoveFeatures_logRuntime reading
stoveFeatures_multiAir1 reading
stoveFeatures_multiAir2 reading
stoveID reading
stoveType reading
sslargs:
Attributes:
enableCookies 1
extractAllJSON 1
group Temperatur
reAuthRegex id="login"|Unauthorized
reading01JSON sensors_inputRoomTemperature
reading01Name RaumTemp
reading02JSON controls_setBackTemperature
reading02Name Absenkung
reading03JSON controls_frostProtectionTemperature
reading03Name Frostschutz
reading10Name controlsJSON
reading10Regex (?s)controls.*?({.*?})
replacement11Mode expression
replacement11Regex data
room Favoriten,Ofen,Favourites
set01Data {"name": "Vorzimmer", "stoveID": "xxxxxx", "controls": {"frostProtectionTemperature": "$val"}}
set01Hint 3,5,7,10
set01Max 10
set01Min 3
set01Name FrostschutzTemp
set11Data data
set11Name frostProtectionTemperature
set11URL https://www.rika-firenet.com/api//client/xxxxxx/controls?controls
sid01Data email=ich@wir.at&password=strenggeheim
sid01URL https://www.rika-firenet.com/web/login
stateFormat T: RaumTemp
userattr reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading10Name reading10Regex replacement11Mode:reading,internal,text,expression,key replacement11Regex set01Data set01Hint set01Max set01Min set01Name set01URL set11Data set11Name set11URL sid01Data sid01URL
und hier das Log
2017.09.12 14:27:25 3: Ofen: Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 27.
2017.09.12 20:57:07 3: Ofen: Defined with URL https://www.rika-firenet.com/api/client/xxxxxx/status and interval 60
2017.09.12 20:57:07 1: Including ./log/fhem.save
2017.09.12 20:57:10 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Authorisation requir...") at (eval 3225) line 1.
2017.09.12 20:57:10 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 3228) line 1.
2017.09.12 20:57:12 3: Device Eingangstuere added to ActionDetector with 028:00 time
2017.09.12 20:57:12 3: Device Rueckseite_Haus added to ActionDetector with 000:10 time
2017.09.12 20:57:12 3: Device Terrasse added to ActionDetector with 000:10 time
2017.09.12 20:57:12 3: Device Wasserschacht added to ActionDetector with 000:10 time
2017.09.12 20:57:12 3: Device Wintergarten added to ActionDetector with 000:10 time
2017.09.12 20:57:13 3: CUL_HM set Stehlampe_Stiegen statusRequest
2017.09.12 20:57:14 3: CUL_HM set Wintergartenlicht statusRequest
2017.09.12 20:57:32 3: Unregistering HTTPSRV TABLETUI for URL /ftui...
2017.09.12 20:57:32 3: myHmUART device closed
2017.09.12 20:57:32 1: Including fhem.cfg
2017.09.12 20:57:32 3: telnetPort: port 7072 opened
2017.09.12 20:57:32 3: WEB: port 8093 opened
2017.09.12 20:57:32 3: WEBphone: port 8094 opened
2017.09.12 20:57:32 3: WEBtablet: port 8095 opened
2017.09.12 20:57:32 2: eventTypes: loaded 1275 events from ./log/eventTypes.txt
2017.09.12 20:57:32 3: Opening CUL_0 device /dev/ttyACM0
2017.09.12 20:57:32 3: Setting CUL_0 serial parameters to 9600,8,N,1
2017.09.12 20:57:32 3: CUL_0: Possible commands: BCFiANEkGMKUYRTVWXefmLltux
2017.09.12 20:57:32 3: CUL_0 device opened
2017.09.12 20:57:32 3: Opening CUL_1 device /dev/ttyACM1
2017.09.12 20:57:32 3: Setting CUL_1 serial parameters to 9600,8,N,1
2017.09.12 20:57:32 3: CUL_1: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2017.09.12 20:57:32 3: CUL_1 device opened
2017.09.12 20:57:32 3: myHmUART device closed
2017.09.12 20:57:32 3: Opening myHmUART device /dev/ttyAMA0
2017.09.12 20:57:32 3: Setting myHmUART serial parameters to 115200,8,N,1
2017.09.12 20:57:32 3: myHmUART device opened
2017.09.12 20:57:33 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet/:
2017.09.12 20:57:33 3: Registering HTTPSRV TABLETUI for URL /ftui and assigned link ftui/ ...
2017.09.12 20:57:33 3: Ofen: Defined with URL https://www.rika-firenet.com/api/client/xxxxxx/status and interval 60
2017.09.12 20:57:34 1: Including ./log/fhem.save
2017.09.12 20:57:34 5: Ofen: UpdateHintList called
2017.09.12 20:57:34 5: Ofen: UpdateHintList: setlist = FrostschutzTemp:3,5,7,10 frostProtectionTemperature
2017.09.12 20:57:34 5: Ofen: UpdateHintList: getlist =
2017.09.12 20:57:35 4: Ofen: GetUpdate called (update)
2017.09.12 20:57:35 4: Ofen: update timer modified: will call GetUpdate in 60.0 seconds at 2017-09-12 20:58:35
2017.09.12 20:57:35 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.12 20:57:35 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 0
2017.09.12 20:57:35 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.12 20:57:35 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.12 20:57:35 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.12 20:57:35 5: Ofen: Replace called for type update, regex data, mode expression, empty value input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.12 20:57:35 4: Ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, No Data, No Header,
timeout 2
2017.09.12 20:57:35 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.12 20:57:36 5: HttpUtils request header:
GET /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.12 20:57:36 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 401
2017.09.12 20:57:36 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 23
2017.09.12 20:57:36 5: HttpUtils response header:
HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3AaBBQkGHdLiCEFVYDoDenecnrs29H-WCa.UqH9cE7j9h588Y3R1p2a7sK01mj74pbu2VF3ClJ5z%2FI; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Tue, 12 Sep 2017 18:57:36 GMT
Via: 1.1 vegur
2017.09.12 20:57:36 4: Ofen: Read callback: request type was update retry 0,
Header: HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3AaBBQkGHdLiCEFVYDoDenecnrs29H-WCa.UqH9cE7j9h588Y3R1p2a7sK01mj74pbu2VF3ClJ5z%2FI; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Tue, 12 Sep 2017 18:57:36 GMT
Via: 1.1 vegur,
Body: Authorisation required!
2017.09.12 20:57:36 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Authorisation requir...") at (eval 3281) line 1.
2017.09.12 20:57:36 5: Ofen: looking for Cookies in HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3AaBBQkGHdLiCEFVYDoDenecnrs29H-WCa.UqH9cE7j9h588Y3R1p2a7sK01mj74pbu2VF3ClJ5z%2FI; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Tue, 12 Sep 2017 18:57:36 GMT
Via: 1.1 vegur
2017.09.12 20:57:36 5: Ofen: Set-Cookie: connect.sid=s%3AaBBQkGHdLiCEFVYDoDenecnrs29H-WCa.UqH9cE7j9h588Y3R1p2a7sK01mj74pbu2VF3ClJ5z%2FI; Path=/; HttpOnly
2017.09.12 20:57:36 4: Ofen: Cookie: connect.sid Wert s%3AaBBQkGHdLiCEFVYDoDenecnrs29H-WCa.UqH9cE7j9h588Y3R1p2a7sK01mj74pbu2VF3ClJ5z%2FI Rest Path=/; HttpOnly
2017.09.12 20:57:36 5: Ofen: ExtractSid called, context reading, num
2017.09.12 20:57:36 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.12 20:57:36 4: Ofen: CheckAuth decided new authentication required
2017.09.12 20:57:36 4: Ofen: Auth called with Steps: 01
2017.09.12 20:57:36 4: Ofen: AddToQueue adds auth01, initial queue len: 0, prio
2017.09.12 20:57:36 5: Ofen: AddToQueue prepends type auth01 to URL https://www.rika-firenet.com/web/login, data email=ich@wir.at&password=strenggeheim, no headers, retry 0
2017.09.12 20:57:36 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.12 20:57:36 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input:
2017.09.12 20:57:36 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input: email=ich@wir.at&password=strenggeheim
2017.09.12 20:57:36 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input: https://www.rika-firenet.com/web/login
2017.09.12 20:57:36 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3AaBBQkGHdLiCEFVYDoDenecnrs29H-WCa.UqH9cE7j9h588Y3R1p2a7sK01mj74pbu2VF3ClJ5z%2FI
2017.09.12 20:57:36 4: Ofen: HandleSendQueue sends request type auth01 to URL https://www.rika-firenet.com/web/login,
data: email=ich@wir.at&password=strenggeheim,
header: Cookie: connect.sid=s%3AaBBQkGHdLiCEFVYDoDenecnrs29H-WCa.UqH9cE7j9h588Y3R1p2a7sK01mj74pbu2VF3ClJ5z%2FI,
timeout 2
2017.09.12 20:57:36 4: HttpUtils url=https://www.rika-firenet.com/web/login
2017.09.12 20:57:36 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.12 20:57:36 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 1
2017.09.12 20:57:36 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.12 20:57:36 5: Ofen: HandleSendQueue - still waiting for reply to last request, delay sending from queue
2017.09.12 20:57:36 4: Ofen: CheckAuth requeued request update after auth, retryCount 0 ...
2017.09.12 20:57:36 5: HttpUtils request header:
POST /web/login HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3AaBBQkGHdLiCEFVYDoDenecnrs29H-WCa.UqH9cE7j9h588Y3R1p2a7sK01mj74pbu2VF3ClJ5z%2FI
Content-Length: 40
Content-Type: application/x-www-form-urlencoded
2017.09.12 20:57:36 4: https://www.rika-firenet.com/web/login: HTTP response code 302
2017.09.12 20:57:36 4: HttpUtils https://www.rika-firenet.com/web/login: Redirect to https://www.rika-firenet.com:443/web/summary
2017.09.12 20:57:36 4: HttpUtils url=https://www.rika-firenet.com:443/web/summary
2017.09.12 20:57:36 5: HttpUtils request header:
POST /web/summary HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3AaBBQkGHdLiCEFVYDoDenecnrs29H-WCa.UqH9cE7j9h588Y3R1p2a7sK01mj74pbu2VF3ClJ5z%2FI
Content-Length: 40
Content-Type: application/x-www-form-urlencoded
jump to the top
Danke
Helmut
Ja klar. Dein Device heisst Ofen und nicht ofen.
Dann musst Du folgendes anpassen:
myUtils wird:
sub replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", 2);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
my $json = ReadingsVal("Ofen", "controlsJSON","");
my $decoded = decode_json($json);
$decoded->{"$valToReplace"} = $value + 0;
my $result = encode_json($decoded);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
und dann
attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2)
Och du Schande
die attr habe ich getippt und die 99er habe ich kopiert....... und nicht gedacht
Aber jetzt kommt das
Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 27, <$fh> line 650.
das ist die 99
sub replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", 2);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
my $json = ReadingsVal("Ofen", "controlsJSON","");
my $decoded = decode_json($json);
$decoded->{"$valToReplace"} = $value + 0;
my $result = encode_json($decoded);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
und hier das letzte Log
Body: {"name":"Vorzimmer","stoveID":"xxxxxx","lastSeenMinutes":0,"lastConfirmedRevision":1505198797,"controls":{"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4},"sensors":{"statusError":0,"statusWarning":0,"statusService":0,"statusMainState":1,"statusSubState":3,"statusFrostStarted":false,"inputFlameTemperature":26,"inputRoomTemperature":23,"inputExternalRequest":true,"outputDischargeMotor":0,"outputInsertionMotor":0,"outputIDFan":0,"outputAirFlaps":0,"outputIgnition":false,"parameterStoveTypeNumber":13,"parameterVersionMainBoard":223,"parameterVersionTFT":223,"parameterRuntimePellets":26,"parameterRuntimeLogs":0,"parameterFeedRateTotal":40,"parameterFeedRateService":660,"parameterOnOffCycles":2},"stoveType":"DOMO MultiAir","stoveFeatures":{"multiAir1":true,"multiAir2":true,"insertionMotor":false,"airFlaps":false,"logRuntime":false}}
2017.09.12 23:01:08 5: Ofen: JSON Flatter called : prefix , ref is HASH(0x2745790)
2017.09.12 23:01:08 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.12 23:01:08 5: Ofen: JSON Flatter called : prefix stoveFeatures_, ref is HASH(0x269fdd8)
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets stoveFeatures_airFlaps to false
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets stoveFeatures_multiAir2 to true
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets stoveFeatures_insertionMotor to false
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets stoveFeatures_logRuntime to false
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets stoveFeatures_multiAir1 to true
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets lastSeenMinutes to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets stoveID to xxxxxx
2017.09.12 23:01:08 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.12 23:01:08 5: Ofen: JSON Flatter called : prefix controls_, ref is HASH(0x26da678)
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_convectionFan1Area to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_convectionFan2Level to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_heatingTimesActiveForComfort to true
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_frostProtectionTemperature to 4
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_frostProtectionActive to false
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_convectionFan2Area to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_heatingTimesActive to false
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_heatingPower to 65
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_setBackTemperature to 18
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_revision to 1505198797
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_operatingMode to 2
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_convectionFan1Active to false
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_convectionFan2Active to false
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_convectionFan1Level to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_onOff to true
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets controls_targetTemperature to 24
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets stoveType to DOMO MultiAir
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets name to Vorzimmer
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets lastConfirmedRevision to 1505198797
2017.09.12 23:01:08 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.12 23:01:08 5: Ofen: JSON Flatter called : prefix sensors_, ref is HASH(0x307f420)
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_inputRoomTemperature to 23
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_outputIgnition to false
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_parameterVersionMainBoard to 223
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_statusFrostStarted to false
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_outputDischargeMotor to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_statusService to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_outputInsertionMotor to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_statusWarning to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_parameterOnOffCycles to 2
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_outputAirFlaps to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_inputFlameTemperature to 26
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_parameterVersionTFT to 223
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_parameterStoveTypeNumber to 13
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_statusMainState to 1
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_statusError to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_parameterFeedRateTotal to 40
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_parameterRuntimePellets to 26
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_parameterRuntimeLogs to 0
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_inputExternalRequest to true
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_statusSubState to 3
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_parameterFeedRateService to 660
2017.09.12 23:01:08 5: Ofen: JSON Flatter sets sensors_outputIDFan to 0
2017.09.12 23:01:08 4: Ofen: extracted JSON values to internal
2017.09.12 23:01:08 5: Ofen: looking for Cookies in HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-dPqJqep1DbueKJzLHQyJLw"
Vary: Accept-Encoding
Date: Tue, 12 Sep 2017 21:01:08 GMT
Via: 1.1 vegur
2017.09.12 23:01:08 5: Ofen: ExtractSid called, context reading, num
2017.09.12 23:01:08 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.12 23:01:08 4: Ofen: CheckAuth decided no authentication required
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_outputInsertionMotor as reading sensors_outputInsertionMotor to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_convectionFan1Active as reading controls_convectionFan1Active to value false
2017.09.12 23:01:08 5: Ofen: Read set JSON name as reading name to value Vorzimmer
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_convectionFan1Area as reading controls_convectionFan1Area to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_parameterOnOffCycles as reading sensors_parameterOnOffCycles to value 2
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_parameterVersionMainBoard as reading sensors_parameterVersionMainBoard to value 223
2017.09.12 23:01:08 5: Ofen: Read set JSON lastConfirmedRevision as reading lastConfirmedRevision to value 1505198797
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_convectionFan1Level as reading controls_convectionFan1Level to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_setBackTemperature as reading controls_setBackTemperature to value 18
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_convectionFan2Area as reading controls_convectionFan2Area to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_frostProtectionActive as reading controls_frostProtectionActive to value false
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_parameterStoveTypeNumber as reading sensors_parameterStoveTypeNumber to value 13
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_statusService as reading sensors_statusService to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_convectionFan2Active as reading controls_convectionFan2Active to value false
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_heatingTimesActiveForComfort as reading controls_heatingTimesActiveForComfort to value true
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_parameterVersionTFT as reading sensors_parameterVersionTFT to value 223
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_parameterFeedRateService as reading sensors_parameterFeedRateService to value 660
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_inputFlameTemperature as reading sensors_inputFlameTemperature to value 26
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_operatingMode as reading controls_operatingMode to value 2
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_statusWarning as reading sensors_statusWarning to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_heatingPower as reading controls_heatingPower to value 65
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_frostProtectionTemperature as reading controls_frostProtectionTemperature to value 4
2017.09.12 23:01:08 5: Ofen: Read set JSON stoveType as reading stoveType to value DOMO MultiAir
2017.09.12 23:01:08 5: Ofen: Read set JSON stoveID as reading stoveID to value xxxxxx
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_convectionFan2Level as reading controls_convectionFan2Level to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_heatingTimesActive as reading controls_heatingTimesActive to value false
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_outputIDFan as reading sensors_outputIDFan to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_inputRoomTemperature as reading sensors_inputRoomTemperature to value 23
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_statusFrostStarted as reading sensors_statusFrostStarted to value false
2017.09.12 23:01:08 5: Ofen: Read set JSON stoveFeatures_multiAir1 as reading stoveFeatures_multiAir1 to value true
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_onOff as reading controls_onOff to value true
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_outputDischargeMotor as reading sensors_outputDischargeMotor to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_revision as reading controls_revision to value 1505198797
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_statusMainState as reading sensors_statusMainState to value 1
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_parameterFeedRateTotal as reading sensors_parameterFeedRateTotal to value 40
2017.09.12 23:01:08 5: Ofen: Read set JSON stoveFeatures_airFlaps as reading stoveFeatures_airFlaps to value false
2017.09.12 23:01:08 5: Ofen: Read set JSON controls_targetTemperature as reading controls_targetTemperature to value 24
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_parameterRuntimePellets as reading sensors_parameterRuntimePellets to value 26
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_parameterRuntimeLogs as reading sensors_parameterRuntimeLogs to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_statusError as reading sensors_statusError to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON stoveFeatures_logRuntime as reading stoveFeatures_logRuntime to value false
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_outputAirFlaps as reading sensors_outputAirFlaps to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_statusSubState as reading sensors_statusSubState to value 3
2017.09.12 23:01:08 5: Ofen: Read set JSON stoveFeatures_insertionMotor as reading stoveFeatures_insertionMotor to value false
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_outputIgnition as reading sensors_outputIgnition to value false
2017.09.12 23:01:08 5: Ofen: Read set JSON lastSeenMinutes as reading lastSeenMinutes to value 0
2017.09.12 23:01:08 5: Ofen: Read set JSON sensors_inputExternalRequest as reading sensors_inputExternalRequest to value true
2017.09.12 23:01:08 5: Ofen: Read set JSON stoveFeatures_multiAir2 as reading stoveFeatures_multiAir2 to value true
2017.09.12 23:01:08 5: Ofen: Read starts parsing response to update with defined readings: 01,02,03,10
2017.09.12 23:01:08 5: Ofen: ExtractReading RaumTemp with json sensors_inputRoomTemperature ...
2017.09.12 23:01:08 4: Ofen: ExtractReading for reading01-1 sets RaumTemp to 23
2017.09.12 23:01:08 5: Ofen: ExtractReading Absenkung with json controls_setBackTemperature ...
2017.09.12 23:01:08 4: Ofen: ExtractReading for reading02-1 sets Absenkung to 18
2017.09.12 23:01:08 5: Ofen: ExtractReading Frostschutz with json controls_frostProtectionTemperature ...
2017.09.12 23:01:08 4: Ofen: ExtractReading for reading03-1 sets Frostschutz to 4
2017.09.12 23:01:08 5: Ofen: ExtractReading controlsJSON with regex /(?s)controls.*?({.*?})/...
2017.09.12 23:01:08 5: Ofen: 1 capture group(s), matchlist = {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.12 23:01:08 4: Ofen: ExtractReading for reading10-1 sets controlsJSON to {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.12 23:01:08 4: Ofen: Read response to update matched Reading(s) sensors_outputInsertionMotor controls_convectionFan1Active name controls_convectionFan1Area sensors_parameterOnOffCycles sensors_parameterVersionMainBoard lastConfirmedRevision controls_convectionFan1Level controls_setBackTemperature controls_convectionFan2Area controls_frostProtectionActive sensors_parameterStoveTypeNumber sensors_statusService controls_convectionFan2Active controls_heatingTimesActiveForComfort sensors_parameterVersionTFT sensors_parameterFeedRateService sensors_inputFlameTemperature controls_operatingMode sensors_statusWarning controls_heatingPower controls_frostProtectionTemperature stoveType stoveID controls_convectionFan2Level controls_heatingTimesActive sensors_outputIDFan sensors_inputRoomTemperature sensors_statusFrostStarted stoveFeatures_multiAir1 controls_onOff sensors_outputDischargeMotor controls_revision sensors_statusMainState sensors_parameterFeedRateTotal stoveFeatures_airFlaps controls_targetTemperature sensors_parameterRuntimePellets sensors_parameterRuntimeLogs sensors_statusError stoveFeatures_logRuntime sensors_outputAirFlaps sensors_statusSubState stoveFeatures_insertionMotor sensors_outputIgnition lastSeenMinutes sensors_inputExternalRequest stoveFeatures_multiAir2 RaumTemp Absenkung Frostschutz controlsJSON
2017.09.12 23:01:08 5: Ofen: HandleSendQueue called, qlen = 0
Danke
Helmut
Ist die Log vollständig? Oder wurde die vom Editor gekürzt?
Ich verstehe das nicht ganz. Er findet die controls JSON. Warum meckert er wegen malformed JSON...
Editierst Du 99_myUtils über die FHEM Weboberfläsche, oder mit einem externen Editor?
Servus
also die 99_myUtils.pm habe ich über hem edit files editiert.
Habe sie jetzt gelöscht und nochmals mit den Werten aus Post 43 angelegt (copy&paste)
package main;
use strict;
use warnings;
use POSIX;
use JSON;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter you functions below _this_ line.
sub replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", 2);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
my $json = ReadingsVal("Ofen", "controlsJSON","");
my $decoded = decode_json($json);
$decoded->{"$valToReplace"} = $value + 0;
my $result = encode_json($decoded);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
1;
hier nochmals die Log
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-RMeGS5HMA+RNajLJwaPR0Q"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 06:59:59 GMT
Via: 1.1 vegur
2017.09.13 08:59:59 5: Ofen: ExtractSid called, context reading, num
2017.09.13 08:59:59 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 08:59:59 4: Ofen: CheckAuth decided no authentication required
2017.09.13 08:59:59 5: Ofen: Read set JSON stoveID as reading stoveID to value xxxxxx
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_convectionFan2Level as reading controls_convectionFan2Level to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_heatingTimesActive as reading controls_heatingTimesActive to value false
2017.09.13 08:59:59 5: Ofen: Read set JSON stoveType as reading stoveType to value DOMO MultiAir
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_statusWarning as reading sensors_statusWarning to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_frostProtectionTemperature as reading controls_frostProtectionTemperature to value 4
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_heatingPower as reading controls_heatingPower to value 65
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_inputFlameTemperature as reading sensors_inputFlameTemperature to value 47
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_operatingMode as reading controls_operatingMode to value 2
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_parameterFeedRateService as reading sensors_parameterFeedRateService to value 658
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_parameterVersionTFT as reading sensors_parameterVersionTFT to value 223
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_heatingTimesActiveForComfort as reading controls_heatingTimesActiveForComfort to value true
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_frostProtectionActive as reading controls_frostProtectionActive to value false
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_statusService as reading sensors_statusService to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_convectionFan2Active as reading controls_convectionFan2Active to value false
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_parameterStoveTypeNumber as reading sensors_parameterStoveTypeNumber to value 13
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_convectionFan2Area as reading controls_convectionFan2Area to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_convectionFan1Level as reading controls_convectionFan1Level to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_setBackTemperature as reading controls_setBackTemperature to value 18
2017.09.13 08:59:59 5: Ofen: Read set JSON lastConfirmedRevision as reading lastConfirmedRevision to value 1505198797
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_parameterVersionMainBoard as reading sensors_parameterVersionMainBoard to value 223
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_parameterOnOffCycles as reading sensors_parameterOnOffCycles to value 2
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_convectionFan1Active as reading controls_convectionFan1Active to value false
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_outputInsertionMotor as reading sensors_outputInsertionMotor to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON name as reading name to value Vorzimmer
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_convectionFan1Area as reading controls_convectionFan1Area to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_inputExternalRequest as reading sensors_inputExternalRequest to value true
2017.09.13 08:59:59 5: Ofen: Read set JSON stoveFeatures_multiAir2 as reading stoveFeatures_multiAir2 to value true
2017.09.13 08:59:59 5: Ofen: Read set JSON lastSeenMinutes as reading lastSeenMinutes to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON stoveFeatures_insertionMotor as reading stoveFeatures_insertionMotor to value false
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_outputIgnition as reading sensors_outputIgnition to value false
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_statusSubState as reading sensors_statusSubState to value 3
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_outputAirFlaps as reading sensors_outputAirFlaps to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON stoveFeatures_logRuntime as reading stoveFeatures_logRuntime to value false
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_parameterRuntimeLogs as reading sensors_parameterRuntimeLogs to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_statusError as reading sensors_statusError to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_targetTemperature as reading controls_targetTemperature to value 24
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_parameterRuntimePellets as reading sensors_parameterRuntimePellets to value 28
2017.09.13 08:59:59 5: Ofen: Read set JSON stoveFeatures_airFlaps as reading stoveFeatures_airFlaps to value false
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_parameterFeedRateTotal as reading sensors_parameterFeedRateTotal to value 42
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_statusMainState as reading sensors_statusMainState to value 1
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_revision as reading controls_revision to value 1505198797
2017.09.13 08:59:59 5: Ofen: Read set JSON controls_onOff as reading controls_onOff to value true
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_outputDischargeMotor as reading sensors_outputDischargeMotor to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON stoveFeatures_multiAir1 as reading stoveFeatures_multiAir1 to value true
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_outputIDFan as reading sensors_outputIDFan to value 0
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_inputRoomTemperature as reading sensors_inputRoomTemperature to value 23
2017.09.13 08:59:59 5: Ofen: Read set JSON sensors_statusFrostStarted as reading sensors_statusFrostStarted to value false
2017.09.13 08:59:59 5: Ofen: Read starts parsing response to update with defined readings: 01,02,03,10
2017.09.13 08:59:59 5: Ofen: ExtractReading RaumTemp with json sensors_inputRoomTemperature ...
2017.09.13 08:59:59 4: Ofen: ExtractReading for reading01-1 sets RaumTemp to 23
2017.09.13 08:59:59 5: Ofen: ExtractReading Absenkung with json controls_setBackTemperature ...
2017.09.13 08:59:59 4: Ofen: ExtractReading for reading02-1 sets Absenkung to 18
2017.09.13 08:59:59 5: Ofen: ExtractReading Frostschutz with json controls_frostProtectionTemperature ...
2017.09.13 08:59:59 4: Ofen: ExtractReading for reading03-1 sets Frostschutz to 4
2017.09.13 08:59:59 5: Ofen: ExtractReading controlsJSON with regex /(?s)controls.*?({.*?})/...
2017.09.13 08:59:59 5: Ofen: 1 capture group(s), matchlist = {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 08:59:59 4: Ofen: ExtractReading for reading10-1 sets controlsJSON to {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 08:59:59 4: Ofen: Read response to update matched Reading(s) stoveID controls_convectionFan2Level controls_heatingTimesActive stoveType sensors_statusWarning controls_frostProtectionTemperature controls_heatingPower sensors_inputFlameTemperature controls_operatingMode sensors_parameterFeedRateService sensors_parameterVersionTFT controls_heatingTimesActiveForComfort controls_frostProtectionActive sensors_statusService controls_convectionFan2Active sensors_parameterStoveTypeNumber controls_convectionFan2Area controls_convectionFan1Level controls_setBackTemperature lastConfirmedRevision sensors_parameterVersionMainBoard sensors_parameterOnOffCycles controls_convectionFan1Active sensors_outputInsertionMotor name controls_convectionFan1Area sensors_inputExternalRequest stoveFeatures_multiAir2 lastSeenMinutes stoveFeatures_insertionMotor sensors_outputIgnition sensors_statusSubState sensors_outputAirFlaps stoveFeatures_logRuntime sensors_parameterRuntimeLogs sensors_statusError controls_targetTemperature sensors_parameterRuntimePellets stoveFeatures_airFlaps sensors_parameterFeedRateTotal sensors_statusMainState controls_revision controls_onOff sensors_outputDischargeMotor stoveFeatures_multiAir1 sensors_outputIDFan sensors_inputRoomTemperature sensors_statusFrostStarted RaumTemp Absenkung Frostschutz controlsJSON
2017.09.13 09:00:00 5: Ofen: HandleSendQueue called, qlen = 0
2017.09.13 09:00:33 3: Unregistering HTTPSRV TABLETUI for URL /ftui...
2017.09.13 09:00:33 3: myHmUART device closed
2017.09.13 09:00:33 1: Including fhem.cfg
2017.09.13 09:00:33 3: telnetPort: port 7072 opened
2017.09.13 09:00:33 3: WEB: port 8093 opened
2017.09.13 09:00:33 3: WEBphone: port 8094 opened
2017.09.13 09:00:33 3: WEBtablet: port 8095 opened
2017.09.13 09:00:34 2: eventTypes: loaded 1275 events from ./log/eventTypes.txt
2017.09.13 09:00:34 3: Opening CUL_0 device /dev/ttyACM0
2017.09.13 09:00:34 3: Setting CUL_0 serial parameters to 9600,8,N,1
2017.09.13 09:00:34 3: CUL_0: Possible commands: BCFiANEkGMKUYRTVWXefmLltux
2017.09.13 09:00:34 3: CUL_0 device opened
2017.09.13 09:00:34 3: Opening CUL_1 device /dev/ttyACM1
2017.09.13 09:00:34 3: Setting CUL_1 serial parameters to 9600,8,N,1
2017.09.13 09:00:34 3: CUL_1: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2017.09.13 09:00:34 3: CUL_1 device opened
2017.09.13 09:00:34 3: myHmUART device closed
2017.09.13 09:00:34 3: Opening myHmUART device /dev/ttyAMA0
2017.09.13 09:00:34 3: Setting myHmUART serial parameters to 115200,8,N,1
2017.09.13 09:00:34 3: myHmUART device opened
2017.09.13 09:00:35 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet/:
2017.09.13 09:00:35 3: Registering HTTPSRV TABLETUI for URL /ftui and assigned link ftui/ ...
2017.09.13 09:00:35 3: Ofen: Defined with URL https://www.rika-firenet.com/api/client/xxxxxx/status and interval 60
2017.09.13 09:00:35 3: replaceJSON Internalvalue: 2
2017.09.13 09:00:35 3: Ofen: Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 27, <$fh> line 650.
2017.09.13 09:00:35 1: Including ./log/fhem.save
2017.09.13 09:00:37 4: Ofen: GetUpdate called (update)
2017.09.13 09:00:37 4: Ofen: update timer modified: will call GetUpdate in 60.0 seconds at 2017-09-13 09:01:37
2017.09.13 09:00:37 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.13 09:00:37 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 0
2017.09.13 09:00:37 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 09:00:37 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 09:00:37 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 09:00:37 5: Ofen: Replace called for type update, regex data, mode expression, empty value input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 09:00:37 4: Ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, No Data, No Header,
timeout 2
2017.09.13 09:00:37 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 09:00:37 5: HttpUtils request header:
GET /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.13 09:00:37 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 401
2017.09.13 09:00:37 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 23
2017.09.13 09:00:37 5: HttpUtils response header:
HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:00:37 GMT
Via: 1.1 vegur
2017.09.13 09:00:37 4: Ofen: Read callback: request type was update retry 0,
Header: HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:00:37 GMT
Via: 1.1 vegur,
Body: Authorisation required!
2017.09.13 09:00:37 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Authorisation requir...") at (eval 6444) line 1.
2017.09.13 09:00:37 5: Ofen: looking for Cookies in HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:00:37 GMT
Via: 1.1 vegur
2017.09.13 09:00:37 5: Ofen: Set-Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE; Path=/; HttpOnly
2017.09.13 09:00:37 4: Ofen: Cookie: connect.sid Wert s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE Rest Path=/; HttpOnly
2017.09.13 09:00:37 5: Ofen: ExtractSid called, context reading, num
2017.09.13 09:00:37 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 09:00:37 4: Ofen: CheckAuth decided new authentication required
2017.09.13 09:00:37 4: Ofen: Auth called with Steps: 01
2017.09.13 09:00:37 4: Ofen: AddToQueue adds auth01, initial queue len: 0, prio
2017.09.13 09:00:37 5: Ofen: AddToQueue prepends type auth01 to URL https://www.rika-firenet.com/web/login, data email=ich@wir.at&password=strenggeheim, no headers, retry 0
2017.09.13 09:00:37 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 09:00:37 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input:
2017.09.13 09:00:37 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input: email=ich@wir.at&password=strenggeheim
2017.09.13 09:00:37 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input: https://www.rika-firenet.com/web/login
2017.09.13 09:00:37 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE
2017.09.13 09:00:37 4: Ofen: HandleSendQueue sends request type auth01 to URL https://www.rika-firenet.com/web/login,
data: email=ich@wir.at&password=strenggeheim,
header: Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE,
timeout 2
2017.09.13 09:00:37 4: HttpUtils url=https://www.rika-firenet.com/web/login
2017.09.13 09:00:37 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.13 09:00:37 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 1
2017.09.13 09:00:37 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 09:00:37 5: Ofen: HandleSendQueue - still waiting for reply to last request, delay sending from queue
2017.09.13 09:00:37 4: Ofen: CheckAuth requeued request update after auth, retryCount 0 ...
2017.09.13 09:00:37 5: HttpUtils request header:
POST /web/login HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE
Content-Length: 40
Content-Type: application/x-www-form-urlencoded
2017.09.13 09:00:37 4: https://www.rika-firenet.com/web/login: HTTP response code 302
2017.09.13 09:00:37 4: HttpUtils https://www.rika-firenet.com/web/login: Redirect to https://www.rika-firenet.com:443/web/summary
2017.09.13 09:00:37 4: HttpUtils url=https://www.rika-firenet.com:443/web/summary
2017.09.13 09:00:37 5: HttpUtils request header:
POST /web/summary HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE
Content-Length: 40
Content-Type: application/x-www-form-urlencoded
2017.09.13 09:00:37 4: https://www.rika-firenet.com:443/web/summary: HTTP response code 404
2017.09.13 09:00:37 4: HttpUtils https://www.rika-firenet.com:443/web/summary: Got data, length: 3368
2017.09.13 09:00:37 5: HttpUtils response header:
HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3368
Etag: W/"d28-RtjAq+p2WLtlHTFmcxLnsA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:00:37 GMT
Via: 1.1 vegur
2017.09.13 09:00:37 4: Ofen: Read callback: request type was auth01 retry 0,
Header: HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3368
Etag: W/"d28-RtjAq+p2WLtlHTFmcxLnsA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:00:37 GMT
Via: 1.1 vegur,
Body: <!DOCTYPE html><html lang="en" dir="ltr"><head><title>RIKA firenet</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- ********** Dynatrace RUM tags ******--><script type="text/javascript" src="https://js-cdn.dynatrace.com/jstag/15a8a271790/hpl92690/f1dedd4f87d6b03a_bs.js" crossorigin="anonymous"></script><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,200"><link rel="stylesheet" href="/assets/rika-firenet.css"><script src="/assets/rika-firenet-en.js"></script><!-- ****** faviconit.com Favicons ******--><link rel="shortcut icon" href="/images/favicon/favicon.ico"><link rel="icon" sizes="16x16 32x32 64x64" href="/images/favicon/favicon.ico"><link rel="icon" type="image/png" sizes="196x196" href="/images/favicon/favicon-192.png"><link rel="icon" type="image/png" sizes="160x160" href="/images/favicon/favicon-160.png"><link rel="icon" type="image/png" sizes="96x96" href="/images/favicon/favicon-96.png"><link rel="icon" type="image/png" sizes="64x64" href="/images/favicon/favicon-64.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32.png"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16.png"><link rel="apple-touch-icon" href="/images/favicon/favicon-57.png"><link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/favicon-114.png"><link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/favicon-72.png"><link rel="apple-touch-icon" sizes="144x144" href="/images/favicon/favicon-144.png"><link rel="apple-touch-icon" sizes="60x60" href="/images/favicon/favicon-60.png"><link rel="apple-touch-icon" sizes="120x120" href="/images/favicon/favicon-120.png"><link rel="apple-touch-icon" sizes="76x76" href="/images/favicon/favicon-76.png"><link rel="apple-touch-icon" sizes="152x152" href="/images/favicon/favicon-152.png"><link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/favicon-180.png"><meta name="msapplication-TileColor" content="#FFFFFF"><meta name="msapplication-TileImage" content="/images/favicon/favicon-144.png"><meta name="msapplication-config" content="/images/favicon/browserconfig.xml"><!-- ****** faviconit.com Favicons ******--></head><body id="rika-body"><div data-role="page"><div id="rika-header" data-role="header" data-position="fixed" data-tap-toggle="false"><div class="rika-header-wrapper"><div id="deploymentStage"></div><a href="/web/" style="float:left"><img src="/images/RIKA-flame.svg" style="height:2.8em; padding: 0.1em;"></a><div style="height:3em; padding:0px 0px; position: relative" class="ui-title"> <span style="vertical-align: middle; line-height: 3em">RIKA firenet</span></div></div></div><div role="main" class="ui-content"><h1>Not Found</h1><h2></h2><pre></pre></div><div id="about-footer"></div></div><div id="gadiv"><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-71662097-1', 'auto');
ga('send', 'pageview');</script></div></body></html>
2017.09.13 09:00:37 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 6447) line 1.
2017.09.13 09:00:37 5: Ofen: looking for Cookies in HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3368
Etag: W/"d28-RtjAq+p2WLtlHTFmcxLnsA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:00:37 GMT
Via: 1.1 vegur
2017.09.13 09:00:37 5: Ofen: ExtractSid called, context sid, num 01
2017.09.13 09:00:38 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 09:00:38 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 09:00:38 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 09:00:38 5: Ofen: Replace called for type update, regex data, mode expression, empty value input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 09:00:38 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE
2017.09.13 09:00:38 4: Ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, No Data,
header: Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE,
timeout 2
2017.09.13 09:00:38 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 09:00:38 5: HttpUtils request header:
GET /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.13 09:00:38 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 200
2017.09.13 09:00:38 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 1187
2017.09.13 09:00:38 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-RMeGS5HMA+RNajLJwaPR0Q"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:00:38 GMT
Via: 1.1 vegur
2017.09.13 09:00:38 4: Ofen: Read callback: request type was update retry 1,
Header: HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-RMeGS5HMA+RNajLJwaPR0Q"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:00:38 GMT
Via: 1.1 vegur,
Body: {"name":"Vorzimmer","stoveID":"xxxxxx","lastSeenMinutes":0,"lastConfirmedRevision":1505198797,"controls":{"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4},"sensors":{"statusError":0,"statusWarning":0,"statusService":0,"statusMainState":1,"statusSubState":3,"statusFrostStarted":false,"inputFlameTemperature":47,"inputRoomTemperature":23,"inputExternalRequest":true,"outputDischargeMotor":0,"outputInsertionMotor":0,"outputIDFan":0,"outputAirFlaps":0,"outputIgnition":false,"parameterStoveTypeNumber":13,"parameterVersionMainBoard":223,"parameterVersionTFT":223,"parameterRuntimePellets":28,"parameterRuntimeLogs":0,"parameterFeedRateTotal":42,"parameterFeedRateService":658,"parameterOnOffCycles":2},"stoveType":"DOMO MultiAir","stoveFeatures":{"multiAir1":true,"multiAir2":true,"insertionMotor":false,"airFlaps":false,"logRuntime":false}}
2017.09.13 09:00:38 5: Ofen: JSON Flatter called : prefix , ref is HASH(0x335d2f8)
2017.09.13 09:00:38 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 09:00:38 5: Ofen: JSON Flatter called : prefix sensors_, ref is HASH(0x343b568)
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_inputFlameTemperature to 47
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_parameterVersionTFT to 223
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_parameterStoveTypeNumber to 13
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_statusMainState to 1
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_statusError to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_parameterFeedRateTotal to 42
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_parameterRuntimePellets to 28
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_parameterRuntimeLogs to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_statusSubState to 3
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_inputExternalRequest to true
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_parameterFeedRateService to 658
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_outputIDFan to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_inputRoomTemperature to 23
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_outputIgnition to false
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_parameterVersionMainBoard to 223
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_statusFrostStarted to false
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_outputDischargeMotor to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_statusService to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_outputInsertionMotor to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_statusWarning to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_parameterOnOffCycles to 2
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets sensors_outputAirFlaps to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets lastConfirmedRevision to 1505198797
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets name to Vorzimmer
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets stoveType to DOMO MultiAir
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets stoveID to xxxxxx
2017.09.13 09:00:38 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 09:00:38 5: Ofen: JSON Flatter called : prefix controls_, ref is HASH(0x3414310)
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_convectionFan1Area to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_convectionFan2Level to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_heatingTimesActiveForComfort to true
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_frostProtectionTemperature to 4
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_frostProtectionActive to false
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_heatingTimesActive to false
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_convectionFan2Area to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_heatingPower to 65
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_setBackTemperature to 18
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_revision to 1505198797
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_convectionFan2Active to false
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_convectionFan1Active to false
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_operatingMode to 2
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_convectionFan1Level to 0
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_onOff to true
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets controls_targetTemperature to 24
2017.09.13 09:00:38 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 09:00:38 5: Ofen: JSON Flatter called : prefix stoveFeatures_, ref is HASH(0x273f3f0)
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets stoveFeatures_multiAir1 to true
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets stoveFeatures_logRuntime to false
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets stoveFeatures_insertionMotor to false
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets stoveFeatures_multiAir2 to true
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets stoveFeatures_airFlaps to false
2017.09.13 09:00:38 5: Ofen: JSON Flatter sets lastSeenMinutes to 0
2017.09.13 09:00:38 4: Ofen: extracted JSON values to internal
2017.09.13 09:00:38 5: Ofen: looking for Cookies in HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-RMeGS5HMA+RNajLJwaPR0Q"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:00:38 GMT
Via: 1.1 vegur
2017.09.13 09:00:38 5: Ofen: ExtractSid called, context reading, num
2017.09.13 09:00:38 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 09:00:38 4: Ofen: CheckAuth decided no authentication required
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_heatingPower as reading controls_heatingPower to value 65
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_frostProtectionTemperature as reading controls_frostProtectionTemperature to value 4
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_statusWarning as reading sensors_statusWarning to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_operatingMode as reading controls_operatingMode to value 2
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_inputFlameTemperature as reading sensors_inputFlameTemperature to value 47
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_heatingTimesActive as reading controls_heatingTimesActive to value false
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_convectionFan2Level as reading controls_convectionFan2Level to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON stoveID as reading stoveID to value xxxxxx
2017.09.13 09:00:38 5: Ofen: Read set JSON stoveType as reading stoveType to value DOMO MultiAir
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_parameterVersionTFT as reading sensors_parameterVersionTFT to value 223
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_heatingTimesActiveForComfort as reading controls_heatingTimesActiveForComfort to value true
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_parameterFeedRateService as reading sensors_parameterFeedRateService to value 658
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_convectionFan2Area as reading controls_convectionFan2Area to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_setBackTemperature as reading controls_setBackTemperature to value 18
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_convectionFan1Level as reading controls_convectionFan1Level to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_parameterStoveTypeNumber as reading sensors_parameterStoveTypeNumber to value 13
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_convectionFan2Active as reading controls_convectionFan2Active to value false
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_statusService as reading sensors_statusService to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_frostProtectionActive as reading controls_frostProtectionActive to value false
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_parameterOnOffCycles as reading sensors_parameterOnOffCycles to value 2
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_parameterVersionMainBoard as reading sensors_parameterVersionMainBoard to value 223
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_convectionFan1Area as reading controls_convectionFan1Area to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_convectionFan1Active as reading controls_convectionFan1Active to value false
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_outputInsertionMotor as reading sensors_outputInsertionMotor to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON name as reading name to value Vorzimmer
2017.09.13 09:00:38 5: Ofen: Read set JSON lastConfirmedRevision as reading lastConfirmedRevision to value 1505198797
2017.09.13 09:00:38 5: Ofen: Read set JSON lastSeenMinutes as reading lastSeenMinutes to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_outputIgnition as reading sensors_outputIgnition to value false
2017.09.13 09:00:38 5: Ofen: Read set JSON stoveFeatures_insertionMotor as reading stoveFeatures_insertionMotor to value false
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_inputExternalRequest as reading sensors_inputExternalRequest to value true
2017.09.13 09:00:38 5: Ofen: Read set JSON stoveFeatures_multiAir2 as reading stoveFeatures_multiAir2 to value true
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_statusError as reading sensors_statusError to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_parameterRuntimeLogs as reading sensors_parameterRuntimeLogs to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_parameterRuntimePellets as reading sensors_parameterRuntimePellets to value 28
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_targetTemperature as reading controls_targetTemperature to value 24
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_statusSubState as reading sensors_statusSubState to value 3
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_outputAirFlaps as reading sensors_outputAirFlaps to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON stoveFeatures_logRuntime as reading stoveFeatures_logRuntime to value false
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_statusMainState as reading sensors_statusMainState to value 1
2017.09.13 09:00:38 5: Ofen: Read set JSON stoveFeatures_airFlaps as reading stoveFeatures_airFlaps to value false
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_parameterFeedRateTotal as reading sensors_parameterFeedRateTotal to value 42
2017.09.13 09:00:38 5: Ofen: Read set JSON stoveFeatures_multiAir1 as reading stoveFeatures_multiAir1 to value true
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_outputIDFan as reading sensors_outputIDFan to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_statusFrostStarted as reading sensors_statusFrostStarted to value false
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_inputRoomTemperature as reading sensors_inputRoomTemperature to value 23
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_revision as reading controls_revision to value 1505198797
2017.09.13 09:00:38 5: Ofen: Read set JSON sensors_outputDischargeMotor as reading sensors_outputDischargeMotor to value 0
2017.09.13 09:00:38 5: Ofen: Read set JSON controls_onOff as reading controls_onOff to value true
2017.09.13 09:00:38 5: Ofen: UpdateReadingList created list of reading.* nums to parse during getUpdate as 01 02 03 10
2017.09.13 09:00:38 5: Ofen: Read starts parsing response to update with defined readings: 01,02,03,10
2017.09.13 09:00:38 5: Ofen: ExtractReading RaumTemp with json sensors_inputRoomTemperature ...
2017.09.13 09:00:38 4: Ofen: ExtractReading for reading01-1 sets RaumTemp to 23
2017.09.13 09:00:38 5: Ofen: ExtractReading Absenkung with json controls_setBackTemperature ...
2017.09.13 09:00:38 4: Ofen: ExtractReading for reading02-1 sets Absenkung to 18
2017.09.13 09:00:38 5: Ofen: ExtractReading Frostschutz with json controls_frostProtectionTemperature ...
2017.09.13 09:00:38 4: Ofen: ExtractReading for reading03-1 sets Frostschutz to 4
2017.09.13 09:00:38 5: Ofen: ExtractReading controlsJSON with regex /(?s)controls.*?({.*?})/...
2017.09.13 09:00:38 5: Ofen: 1 capture group(s), matchlist = {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 09:00:38 4: Ofen: ExtractReading for reading10-1 sets controlsJSON to {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 09:00:38 4: Ofen: Read response to update matched Reading(s) controls_heatingPower controls_frostProtectionTemperature sensors_statusWarning controls_operatingMode sensors_inputFlameTemperature controls_heatingTimesActive controls_convectionFan2Level stoveID stoveType sensors_parameterVersionTFT controls_heatingTimesActiveForComfort sensors_parameterFeedRateService controls_convectionFan2Area controls_setBackTemperature controls_convectionFan1Level sensors_parameterStoveTypeNumber controls_convectionFan2Active sensors_statusService controls_frostProtectionActive sensors_parameterOnOffCycles sensors_parameterVersionMainBoard controls_convectionFan1Area controls_convectionFan1Active sensors_outputInsertionMotor name lastConfirmedRevision lastSeenMinutes sensors_outputIgnition stoveFeatures_insertionMotor sensors_inputExternalRequest stoveFeatures_multiAir2 sensors_statusError sensors_parameterRuntimeLogs sensors_parameterRuntimePellets controls_targetTemperature sensors_statusSubState sensors_outputAirFlaps stoveFeatures_logRuntime sensors_statusMainState stoveFeatures_airFlaps sensors_parameterFeedRateTotal stoveFeatures_multiAir1 sensors_outputIDFan sensors_statusFrostStarted sensors_inputRoomTemperature controls_revision sensors_outputDischargeMotor controls_onOff RaumTemp Absenkung Frostschutz controlsJSON
2017.09.13 09:00:38 5: Ofen: HandleSendQueue called, qlen = 0
2017.09.13 09:00:40 3: Device Eingangstuere added to ActionDetector with 028:00 time
2017.09.13 09:00:40 3: Device Rueckseite_Haus added to ActionDetector with 000:10 time
2017.09.13 09:00:40 3: Device Terrasse added to ActionDetector with 000:10 time
2017.09.13 09:00:40 3: Device Wasserschacht added to ActionDetector with 000:10 time
2017.09.13 09:00:40 3: Device Wintergarten added to ActionDetector with 000:10 time
2017.09.13 09:00:41 3: CUL_HM set Stehlampe_Stiegen statusRequest
2017.09.13 09:00:42 3: CUL_HM set Wintergartenlicht statusRequest
2017.09.13 09:01:34 3: telnetForBlockingFn_1505286094.73819: port 46169 opened
2017.09.13 09:01:37 4: Ofen: GetUpdate called (update)
2017.09.13 09:01:37 4: Ofen: update timer modified: will call GetUpdate in 60.0 seconds at 2017-09-13 09:02:37
2017.09.13 09:01:37 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.13 09:01:37 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 0
2017.09.13 09:01:37 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 09:01:37 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 09:01:37 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 09:01:37 5: Ofen: Replace called for type update, regex data, mode expression, empty value input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 09:01:37 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE
2017.09.13 09:01:37 4: Ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, No Data,
header: Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE,
timeout 2
2017.09.13 09:01:37 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 09:01:37 5: HttpUtils request header:
GET /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3A2rMd45tqfk83wY1HXh2ZLg8LV17Ao9kk.Jgy0pO3jLQVAsBher3D%2F7W8eSc5UU1FRZ1Ldl68CRAE
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.13 09:01:37 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 200
2017.09.13 09:01:37 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 1187
2017.09.13 09:01:37 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-+5sm2ACVTLHnDruQMMKnWg"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:01:37 GMT
Via: 1.1 vegur
2017.09.13 09:01:37 4: Ofen: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-+5sm2ACVTLHnDruQMMKnWg"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 07:01:37 GMT
Via: 1.1 vegur,
Body: {"name":"Vorzimmer","stoveID":"xxxxxx","lastSeenMinutes":0,"lastConfirmedRevision":1505198797,"controls":{"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4},"sensors":{"statusError":0,"statusWarning":0,"statusService":0,"statusMainState":1,"statusSubState":3,"statusFrostStarted":false,"inputFlameTemperature":46,"inputRoomTemperature":23,"inputExternalRequest":true,"outputDischargeMotor":0,"outputInsertionMotor":0,"outputIDFan":0,"outputAirFlaps":0,"outputIgnition":false,"parameterStoveTypeNumber":13,"parameterVersionMainBoard":223,"parameterVersionTFT":223,"parameterRuntimePellets":28,"parameterRuntimeLogs":0,"parameterFeedRateTotal":42,"parameterFeedRateService":658,"parameterOnOffCycles":2},"stoveType":"DOMO MultiAir","stoveFeatures":{"multiAir1":true,"multiAir2":true,"insertionMotor":false,"airFlaps":false,"logRuntime":false}}
2017.09.13 09:01:37 5: Ofen: JSON Flatter called : prefix , ref is HASH(0x32ff5b0)
2017.09.13 09:01:37 5: Ofen: JSON Flatter sets name to Vorzimmer
2017.09.13 09:01:37 5: Ofen: JSON Flatter sets lastConfirmedRevision to 1505198797
2017.09.13 09:01:3
Und das Problem ist, dass Du replacement11Value überhaupt nicht einstellen kannst, oder kannst Du doch aber er meckert in der Log?
Wenn 1., kannst Du folgendes probieren: in myUtils, die Zeile my $json = ReadingsVal("Ofen", "controlsJSON","");
durch my $json = '{"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}';
ersetzen. Und dann gucken, ob Du replacement11Value setzen kannst.
Sonst zeig bitte nochmal deine gesamte 99_myUtils Datei
Sorry
wenn ich das attr in der hem Eingabezeile eingebe passiert vorerst gar nix
ich sehe es in den attr aber nach einem reread kommt diese Meldung unterhalb der Eingabezeile
Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 27, <$fh> line 650.
Das ist line 27
my $decoded = decode_json($json);
Gruß
Helmut
Sorry, ich war am editieren meines Posts, und wurde umgelenkt. Probier mal bitte, was ich hieroben geschrieben habe.
Servus
habe die 99 my Util geändert und danach das System rebootet (sicher ist sicher - ja system ist gestern oder vorgestern upgedatet worden - also aktuell)
Danach das attr gelöscht und neu eingegeben. Keine Meldung unterhalb der Eingabezeile wie vorher.
Aber es ändert den Wert nicht .
Hier nochmals alle wichtigen Daten
list Ofen
Internals:
BUSY 0
DEF https://www.rika-firenet.com/api/client/xxxxxx/status 60
HTTPCookies connect.sid=s%3APWs9acF6OmNYhA2xMOlEAvtoviBFtvoz.Tp8AZc5Sq32J1%2F2fyB77zg416E20%2F2ld1macYlnqhIk
Interval 60
JSONEnabled 1
LASTSEND 1505301970.24398
LastAuthTry 2017-09-13 13:22:10
MainURL https://www.rika-firenet.com/api/client/xxxxxx/status
ModuleVersion 3.4.0 - 9.9.2017
NAME Ofen
NR 271
ReplacementEnabled 1
STATE T: 22
TRIGGERTIME 1505302030.24182
TRIGGERTIME_FMT 2017-09-13 13:27:10
TYPE HTTPMOD
addr https://www.rika-firenet.com:443
buf
code 200
conn
data
displayurl https://www.rika-firenet.com/api/client/xxxxxx/status
header Cookie: connect.sid=s%3APWs9acF6OmNYhA2xMOlEAvtoviBFtvoz.Tp8AZc5Sq32J1%2F2fyB77zg416E20%2F2ld1macYlnqhIk
host www.rika-firenet.com
httpheader HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-5E41O7M3w1C2aOvoeaXO+g"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 11:26:10 GMT
Via: 1.1 vegur
httpversion 1.0
hu_blocking 0
hu_filecount 8
hu_port 443
hu_portSfx
ignoreredirects 0
loglevel 4
path /api/client/xxxxxx/status
protocol https
redirects 0
timeout 2
url https://www.rika-firenet.com/api/client/xxxxxx/status
value 0
HTTPCookieHash:
connect.sid:
Options Path=/; HttpOnly
Value s%3APWs9acF6OmNYhA2xMOlEAvtoviBFtvoz.Tp8AZc5Sq32J1%2F2fyB77zg416E20%2F2ld1macYlnqhIk
QUEUE:
READINGS:
2017-09-13 13:26:10 Absenkung 18
2017-09-13 13:26:10 Frostschutz 4
2017-09-13 13:26:10 RaumTemp 22
2017-09-13 13:26:10 controlsJSON {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017-09-13 13:26:10 controls_convectionFan1Active false
2017-09-13 13:26:10 controls_convectionFan1Area 0
2017-09-13 13:26:10 controls_convectionFan1Level 0
2017-09-13 13:26:10 controls_convectionFan2Active false
2017-09-13 13:26:10 controls_convectionFan2Area 0
2017-09-13 13:26:10 controls_convectionFan2Level 0
2017-09-13 13:26:10 controls_frostProtectionActive false
2017-09-13 13:26:10 controls_frostProtectionTemperature 4
2017-09-13 13:26:10 controls_heatingPower 65
2017-09-13 13:26:10 controls_heatingTimesActive false
2017-09-13 13:26:10 controls_heatingTimesActiveForComfort true
2017-09-13 13:26:10 controls_onOff true
2017-09-13 13:26:10 controls_operatingMode 2
2017-09-13 13:26:10 controls_revision 1505198797
2017-09-13 13:26:10 controls_setBackTemperature 18
2017-09-13 13:26:10 controls_targetTemperature 24
2017-09-13 13:26:10 lastConfirmedRevision 1505198797
2017-09-13 13:26:10 lastSeenMinutes 0
2017-09-13 13:26:10 name Vorzimmer
2017-09-13 13:26:10 sensors_inputExternalRequest true
2017-09-13 13:26:10 sensors_inputFlameTemperature 23
2017-09-13 13:26:10 sensors_inputRoomTemperature 22
2017-09-13 13:26:10 sensors_outputAirFlaps 0
2017-09-13 13:26:10 sensors_outputDischargeMotor 0
2017-09-13 13:26:10 sensors_outputIDFan 0
2017-09-13 13:26:10 sensors_outputIgnition false
2017-09-13 13:26:10 sensors_outputInsertionMotor 0
2017-09-13 13:26:10 sensors_parameterFeedRateService 658
2017-09-13 13:26:10 sensors_parameterFeedRateTotal 42
2017-09-13 13:26:10 sensors_parameterOnOffCycles 2
2017-09-13 13:26:10 sensors_parameterRuntimeLogs 0
2017-09-13 13:26:10 sensors_parameterRuntimePellets 28
2017-09-13 13:26:10 sensors_parameterStoveTypeNumber 13
2017-09-13 13:26:10 sensors_parameterVersionMainBoard 223
2017-09-13 13:26:10 sensors_parameterVersionTFT 223
2017-09-13 13:26:10 sensors_statusError 0
2017-09-13 13:26:10 sensors_statusFrostStarted false
2017-09-13 13:26:10 sensors_statusMainState 1
2017-09-13 13:26:10 sensors_statusService 0
2017-09-13 13:26:10 sensors_statusSubState 3
2017-09-13 13:26:10 sensors_statusWarning 0
2017-09-13 13:26:10 stoveFeatures_airFlaps false
2017-09-13 13:26:10 stoveFeatures_insertionMotor false
2017-09-13 13:26:10 stoveFeatures_logRuntime false
2017-09-13 13:26:10 stoveFeatures_multiAir1 true
2017-09-13 13:26:10 stoveFeatures_multiAir2 true
2017-09-13 13:26:10 stoveID xxxxxx
2017-09-13 13:26:10 stoveType DOMO MultiAir
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url https://www.rika-firenet.com/api/client/xxxxxx/status
value 0
defptr:
readingBase:
Absenkung reading
Frostschutz reading
RaumTemp reading
controlsJSON reading
controls_convectionFan1Active reading
controls_convectionFan1Area reading
controls_convectionFan1Level reading
controls_convectionFan2Active reading
controls_convectionFan2Area reading
controls_convectionFan2Level reading
controls_frostProtectionActive reading
controls_frostProtectionTemperature reading
controls_heatingPower reading
controls_heatingTimesActive reading
controls_heatingTimesActiveForComfort reading
controls_onOff reading
controls_operatingMode reading
controls_revision reading
controls_setBackTemperature reading
controls_targetTemperature reading
lastConfirmedRevision reading
lastSeenMinutes reading
name reading
sensors_inputExternalRequest reading
sensors_inputFlameTemperature reading
sensors_inputRoomTemperature reading
sensors_outputAirFlaps reading
sensors_outputDischargeMotor reading
sensors_outputIDFan reading
sensors_outputIgnition reading
sensors_outputInsertionMotor reading
sensors_parameterFeedRateService reading
sensors_parameterFeedRateTotal reading
sensors_parameterOnOffCycles reading
sensors_parameterRuntimeLogs reading
sensors_parameterRuntimePellets reading
sensors_parameterStoveTypeNumber reading
sensors_parameterVersionMainBoard reading
sensors_parameterVersionTFT reading
sensors_statusError reading
sensors_statusFrostStarted reading
sensors_statusMainState reading
sensors_statusService reading
sensors_statusSubState reading
sensors_statusWarning reading
stoveFeatures_airFlaps reading
stoveFeatures_insertionMotor reading
stoveFeatures_logRuntime reading
stoveFeatures_multiAir1 reading
stoveFeatures_multiAir2 reading
stoveID reading
stoveType reading
readingNum:
Absenkung 02
Frostschutz 03
RaumTemp 01
controlsJSON 10
controls_convectionFan1Active
controls_convectionFan1Area
controls_convectionFan1Level
controls_convectionFan2Active
controls_convectionFan2Area
controls_convectionFan2Level
controls_frostProtectionActive
controls_frostProtectionTemperature
controls_heatingPower
controls_heatingTimesActive
controls_heatingTimesActiveForComfort
controls_onOff
controls_operatingMode
controls_revision
controls_setBackTemperature
controls_targetTemperature
lastConfirmedRevision
lastSeenMinutes
name
sensors_inputExternalRequest
sensors_inputFlameTemperature
sensors_inputRoomTemperature
sensors_outputAirFlaps
sensors_outputDischargeMotor
sensors_outputIDFan
sensors_outputIgnition
sensors_outputInsertionMotor
sensors_parameterFeedRateService
sensors_parameterFeedRateTotal
sensors_parameterOnOffCycles
sensors_parameterRuntimeLogs
sensors_parameterRuntimePellets
sensors_parameterStoveTypeNumber
sensors_parameterVersionMainBoard
sensors_parameterVersionTFT
sensors_statusError
sensors_statusFrostStarted
sensors_statusMainState
sensors_statusService
sensors_statusSubState
sensors_statusWarning
stoveFeatures_airFlaps
stoveFeatures_insertionMotor
stoveFeatures_logRuntime
stoveFeatures_multiAir1
stoveFeatures_multiAir2
stoveID
stoveType
readingOutdated:
requestReadings:
update:
Absenkung reading 02
Frostschutz reading 03
RaumTemp reading 01
controlsJSON reading 10
controls_convectionFan1Active reading
controls_convectionFan1Area reading
controls_convectionFan1Level reading
controls_convectionFan2Active reading
controls_convectionFan2Area reading
controls_convectionFan2Level reading
controls_frostProtectionActive reading
controls_frostProtectionTemperature reading
controls_heatingPower reading
controls_heatingTimesActive reading
controls_heatingTimesActiveForComfort reading
controls_onOff reading
controls_operatingMode reading
controls_revision reading
controls_setBackTemperature reading
controls_targetTemperature reading
lastConfirmedRevision reading
lastSeenMinutes reading
name reading
sensors_inputExternalRequest reading
sensors_inputFlameTemperature reading
sensors_inputRoomTemperature reading
sensors_outputAirFlaps reading
sensors_outputDischargeMotor reading
sensors_outputIDFan reading
sensors_outputIgnition reading
sensors_outputInsertionMotor reading
sensors_parameterFeedRateService reading
sensors_parameterFeedRateTotal reading
sensors_parameterOnOffCycles reading
sensors_parameterRuntimeLogs reading
sensors_parameterRuntimePellets reading
sensors_parameterStoveTypeNumber reading
sensors_parameterVersionMainBoard reading
sensors_parameterVersionTFT reading
sensors_statusError reading
sensors_statusFrostStarted reading
sensors_statusMainState reading
sensors_statusService reading
sensors_statusSubState reading
sensors_statusWarning reading
stoveFeatures_airFlaps reading
stoveFeatures_insertionMotor reading
stoveFeatures_logRuntime reading
stoveFeatures_multiAir1 reading
stoveFeatures_multiAir2 reading
stoveID reading
stoveType reading
sslargs:
Attributes:
enableCookies 1
extractAllJSON 1
group Temperatur
reAuthRegex id="login"|Unauthorized
reading01JSON sensors_inputRoomTemperature
reading01Name RaumTemp
reading02JSON controls_setBackTemperature
reading02Name Absenkung
reading03JSON controls_frostProtectionTemperature
reading03Name Frostschutz
reading10Name controlsJSON
reading10Regex (?s)controls.*?({.*?})
replacement11Mode expression
replacement11Regex data
replacement11Value replaceJSON("frostProtectionTemperature", 2)
room Favoriten,Ofen,Favourites
set01Data {"name": "Vorzimmer", "stoveID": "xxxxxx", "controls": {"frostProtectionTemperature": "$val"}}
set01Hint 3,5,7,10
set01Max 10
set01Min 3
set01Name FrostschutzTemp
set11Data data
set11Name frostProtectionTemperature
set11URL https://www.rika-firenet.com/api//client/xxxxxx/controls?controls
sid01Data email=ich@wir.at&password=strenggeheim
sid01URL https://www.rika-firenet.com/web/login
stateFormat T: RaumTemp
userattr reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading10Name reading10Regex replacement11Mode:reading,internal,text,expression,key replacement11Regex replacement11Value set01Data set01Hint set01Max set01Min set01Name set01URL set11Data set11Name set11URL sid01Data sid01URL
verbose 5
die 99er
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
package main;
use strict;
use warnings;
use POSIX;
use JSON;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter you functions below _this_ line.
sub replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", 2);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
my $json = '{"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}';
my $decoded = decode_json($json);
$decoded->{"$valToReplace"} = $value + 0;
my $result = encode_json($decoded);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
1;
Und die Log
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-5E41O7M3w1C2aOvoeaXO+g"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 11:27:10 GMT
Via: 1.1 vegur
2017.09.13 13:27:10 5: Ofen: ExtractSid called, context reading, num
2017.09.13 13:27:10 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 13:27:10 4: Ofen: CheckAuth decided no authentication required
2017.09.13 13:27:10 5: Ofen: Read set JSON stoveID as reading stoveID to value xxxxxx
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_parameterVersionMainBoard as reading sensors_parameterVersionMainBoard to value 223
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_statusSubState as reading sensors_statusSubState to value 3
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_convectionFan2Level as reading controls_convectionFan2Level to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_outputDischargeMotor as reading sensors_outputDischargeMotor to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON lastSeenMinutes as reading lastSeenMinutes to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON lastConfirmedRevision as reading lastConfirmedRevision to value 1505198797
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_convectionFan1Level as reading controls_convectionFan1Level to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_outputIDFan as reading sensors_outputIDFan to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_onOff as reading controls_onOff to value true
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_convectionFan1Active as reading controls_convectionFan1Active to value false
2017.09.13 13:27:10 5: Ofen: Read set JSON stoveType as reading stoveType to value DOMO MultiAir
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_convectionFan2Active as reading controls_convectionFan2Active to value false
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_operatingMode as reading controls_operatingMode to value 2
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_inputFlameTemperature as reading sensors_inputFlameTemperature to value 23
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_inputExternalRequest as reading sensors_inputExternalRequest to value true
2017.09.13 13:27:10 5: Ofen: Read set JSON stoveFeatures_insertionMotor as reading stoveFeatures_insertionMotor to value false
2017.09.13 13:27:10 5: Ofen: Read set JSON stoveFeatures_multiAir1 as reading stoveFeatures_multiAir1 to value true
2017.09.13 13:27:10 5: Ofen: Read set JSON stoveFeatures_airFlaps as reading stoveFeatures_airFlaps to value false
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_heatingTimesActiveForComfort as reading controls_heatingTimesActiveForComfort to value true
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_outputInsertionMotor as reading sensors_outputInsertionMotor to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_statusMainState as reading sensors_statusMainState to value 1
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_statusFrostStarted as reading sensors_statusFrostStarted to value false
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_inputRoomTemperature as reading sensors_inputRoomTemperature to value 22
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_parameterStoveTypeNumber as reading sensors_parameterStoveTypeNumber to value 13
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_statusError as reading sensors_statusError to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON name as reading name to value Vorzimmer
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_parameterFeedRateTotal as reading sensors_parameterFeedRateTotal to value 42
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_parameterOnOffCycles as reading sensors_parameterOnOffCycles to value 2
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_outputAirFlaps as reading sensors_outputAirFlaps to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_setBackTemperature as reading controls_setBackTemperature to value 18
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_parameterRuntimeLogs as reading sensors_parameterRuntimeLogs to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON stoveFeatures_logRuntime as reading stoveFeatures_logRuntime to value false
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_convectionFan1Area as reading controls_convectionFan1Area to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_heatingTimesActive as reading controls_heatingTimesActive to value false
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_frostProtectionActive as reading controls_frostProtectionActive to value false
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_parameterRuntimePellets as reading sensors_parameterRuntimePellets to value 28
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_targetTemperature as reading controls_targetTemperature to value 24
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_parameterVersionTFT as reading sensors_parameterVersionTFT to value 223
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_convectionFan2Area as reading controls_convectionFan2Area to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_revision as reading controls_revision to value 1505198797
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_statusWarning as reading sensors_statusWarning to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON stoveFeatures_multiAir2 as reading stoveFeatures_multiAir2 to value true
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_statusService as reading sensors_statusService to value 0
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_frostProtectionTemperature as reading controls_frostProtectionTemperature to value 4
2017.09.13 13:27:10 5: Ofen: Read set JSON controls_heatingPower as reading controls_heatingPower to value 65
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_outputIgnition as reading sensors_outputIgnition to value false
2017.09.13 13:27:10 5: Ofen: Read set JSON sensors_parameterFeedRateService as reading sensors_parameterFeedRateService to value 658
2017.09.13 13:27:10 5: Ofen: Read starts parsing response to update with defined readings: 01,02,03,10
2017.09.13 13:27:10 5: Ofen: ExtractReading RaumTemp with json sensors_inputRoomTemperature ...
2017.09.13 13:27:10 4: Ofen: ExtractReading for reading01-1 sets RaumTemp to 22
2017.09.13 13:27:10 5: Ofen: ExtractReading Absenkung with json controls_setBackTemperature ...
2017.09.13 13:27:10 4: Ofen: ExtractReading for reading02-1 sets Absenkung to 18
2017.09.13 13:27:10 5: Ofen: ExtractReading Frostschutz with json controls_frostProtectionTemperature ...
2017.09.13 13:27:10 4: Ofen: ExtractReading for reading03-1 sets Frostschutz to 4
2017.09.13 13:27:10 5: Ofen: ExtractReading controlsJSON with regex /(?s)controls.*?({.*?})/...
2017.09.13 13:27:10 5: Ofen: 1 capture group(s), matchlist = {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 13:27:10 4: Ofen: ExtractReading for reading10-1 sets controlsJSON to {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 13:27:10 4: Ofen: Read response to update matched Reading(s) stoveID sensors_parameterVersionMainBoard sensors_statusSubState controls_convectionFan2Level sensors_outputDischargeMotor lastSeenMinutes lastConfirmedRevision controls_convectionFan1Level sensors_outputIDFan controls_onOff controls_convectionFan1Active stoveType controls_convectionFan2Active controls_operatingMode sensors_inputFlameTemperature sensors_inputExternalRequest stoveFeatures_insertionMotor stoveFeatures_multiAir1 stoveFeatures_airFlaps controls_heatingTimesActiveForComfort sensors_outputInsertionMotor sensors_statusMainState sensors_statusFrostStarted sensors_inputRoomTemperature sensors_parameterStoveTypeNumber sensors_statusError name sensors_parameterFeedRateTotal sensors_parameterOnOffCycles sensors_outputAirFlaps controls_setBackTemperature sensors_parameterRuntimeLogs stoveFeatures_logRuntime controls_convectionFan1Area controls_heatingTimesActive controls_frostProtectionActive sensors_parameterRuntimePellets controls_targetTemperature sensors_parameterVersionTFT controls_convectionFan2Area controls_revision sensors_statusWarning stoveFeatures_multiAir2 sensors_statusService controls_frostProtectionTemperature controls_heatingPower sensors_outputIgnition sensors_parameterFeedRateService RaumTemp Absenkung Frostschutz controlsJSON
2017.09.13 13:27:10 5: Ofen: HandleSendQueue called, qlen = 0
2017.09.13 13:28:10 4: Ofen: GetUpdate called (update)
2017.09.13 13:28:10 4: Ofen: update timer modified: will call GetUpdate in 60.0 seconds at 2017-09-13 13:29:10
2017.09.13 13:28:10 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.13 13:28:10 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 0
2017.09.13 13:28:10 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 13:28:10 5: Ofen: Replace called for type update, regex data, mode expression, value replaceJSON("frostProtectionTemperature", 2) input:
2017.09.13 13:28:10 5: Ofen: Replace called for type update, regex data, mode expression, value replaceJSON("frostProtectionTemperature", 2) input:
2017.09.13 13:28:10 5: Ofen: Replace called for type update, regex data, mode expression, value replaceJSON("frostProtectionTemperature", 2) input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 13:28:10 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3APWs9acF6OmNYhA2xMOlEAvtoviBFtvoz.Tp8AZc5Sq32J1%2F2fyB77zg416E20%2F2ld1macYlnqhIk
2017.09.13 13:28:10 4: Ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, No Data,
header: Cookie: connect.sid=s%3APWs9acF6OmNYhA2xMOlEAvtoviBFtvoz.Tp8AZc5Sq32J1%2F2fyB77zg416E20%2F2ld1macYlnqhIk,
timeout 2
2017.09.13 13:28:10 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 13:28:10 5: HttpUtils request header:
GET /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3APWs9acF6OmNYhA2xMOlEAvtoviBFtvoz.Tp8AZc5Sq32J1%2F2fyB77zg416E20%2F2ld1macYlnqhIk
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.13 13:28:10 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 200
2017.09.13 13:28:10 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 1187
2017.09.13 13:28:10 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-5E41O7M3w1C2aOvoeaXO+g"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 11:28:10 GMT
Via: 1.1 vegur
2017.09.13 13:28:10 4: Ofen: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-5E41O7M3w1C2aOvoeaXO+g"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 11:28:10 GMT
Via: 1.1 vegur,
Body: {"name":"Vorzimmer","stoveID":"xxxxxx","lastSeenMinutes":0,"lastConfirmedRevision":1505198797,"controls":{"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4},"sensors":{"statusError":0,"statusWarning":0,"statusService":0,"statusMainState":1,"statusSubState":3,"statusFrostStarted":false,"inputFlameTemperature":23,"inputRoomTemperature":22,"inputExternalRequest":true,"outputDischargeMotor":0,"outputInsertionMotor":0,"outputIDFan":0,"outputAirFlaps":0,"outputIgnition":false,"parameterStoveTypeNumber":13,"parameterVersionMainBoard":223,"parameterVersionTFT":223,"parameterRuntimePellets":28,"parameterRuntimeLogs":0,"parameterFeedRateTotal":42,"parameterFeedRateService":658,"parameterOnOffCycles":2},"stoveType":"DOMO MultiAir","stoveFeatures":{"multiAir1":true,"multiAir2":true,"insertionMotor":false,"airFlaps":false,"logRuntime":false}}
2017.09.13 13:28:10 5: Ofen: JSON Flatter called : prefix , ref is HASH(0x30fe770)
2017.09.13 13:28:10 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 13:28:10 5: Ofen: JSON Flatter called : prefix controls_, ref is HASH(0x30b03b8)
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_convectionFan2Active to false
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_heatingPower to 65
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_heatingTimesActive to false
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_targetTemperature to 24
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_heatingTimesActiveForComfort to true
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_revision to 1505198797
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_convectionFan2Area to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_operatingMode to 2
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_convectionFan1Active to false
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_convectionFan1Area to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_frostProtectionTemperature to 4
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_convectionFan1Level to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_setBackTemperature to 18
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_onOff to true
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_frostProtectionActive to false
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets controls_convectionFan2Level to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets name to Vorzimmer
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets lastConfirmedRevision to 1505198797
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets lastSeenMinutes to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 13:28:10 5: Ofen: JSON Flatter called : prefix stoveFeatures_, ref is HASH(0x2fcc5a0)
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets stoveFeatures_logRuntime to false
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets stoveFeatures_insertionMotor to false
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets stoveFeatures_multiAir1 to true
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets stoveFeatures_multiAir2 to true
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets stoveFeatures_airFlaps to false
2017.09.13 13:28:10 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 13:28:10 5: Ofen: JSON Flatter called : prefix sensors_, ref is HASH(0x30b8278)
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_statusWarning to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_inputRoomTemperature to 22
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_statusMainState to 1
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_parameterOnOffCycles to 2
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_parameterVersionMainBoard to 223
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_statusService to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_parameterFeedRateService to 658
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_outputIDFan to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_outputDischargeMotor to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_parameterFeedRateTotal to 42
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_statusFrostStarted to false
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_outputAirFlaps to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_statusSubState to 3
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_inputFlameTemperature to 23
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_parameterStoveTypeNumber to 13
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_inputExternalRequest to true
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_parameterRuntimePellets to 28
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_statusError to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_outputInsertionMotor to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_parameterVersionTFT to 223
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_parameterRuntimeLogs to 0
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets sensors_outputIgnition to false
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets stoveType to DOMO MultiAir
2017.09.13 13:28:10 5: Ofen: JSON Flatter sets stoveID to xxxxxx
2017.09.13 13:28:10 4: Ofen: extracted JSON values to internal
2017.09.13 13:28:10 5: Ofen: looking for Cookies in HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-5E41O7M3w1C2aOvoeaXO+g"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 11:28:10 GMT
Via: 1.1 vegur
2017.09.13 13:28:10 5: Ofen: ExtractSid called, context reading, num
2017.09.13 13:28:10 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 13:28:10 4: Ofen: CheckAuth decided no authentication required
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_statusFrostStarted as reading sensors_statusFrostStarted to value false
2017.09.13 13:28:10 5: Ofen: Read set JSON stoveFeatures_airFlaps as reading stoveFeatures_airFlaps to value false
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_outputInsertionMotor as reading sensors_outputInsertionMotor to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_heatingTimesActiveForComfort as reading controls_heatingTimesActiveForComfort to value true
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_statusMainState as reading sensors_statusMainState to value 1
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_parameterStoveTypeNumber as reading sensors_parameterStoveTypeNumber to value 13
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_inputRoomTemperature as reading sensors_inputRoomTemperature to value 22
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_outputAirFlaps as reading sensors_outputAirFlaps to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_parameterOnOffCycles as reading sensors_parameterOnOffCycles to value 2
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_setBackTemperature as reading controls_setBackTemperature to value 18
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_parameterRuntimeLogs as reading sensors_parameterRuntimeLogs to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON name as reading name to value Vorzimmer
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_statusError as reading sensors_statusError to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_parameterFeedRateTotal as reading sensors_parameterFeedRateTotal to value 42
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_frostProtectionActive as reading controls_frostProtectionActive to value false
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_parameterRuntimePellets as reading sensors_parameterRuntimePellets to value 28
2017.09.13 13:28:10 5: Ofen: Read set JSON stoveFeatures_logRuntime as reading stoveFeatures_logRuntime to value false
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_convectionFan1Area as reading controls_convectionFan1Area to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_heatingTimesActive as reading controls_heatingTimesActive to value false
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_targetTemperature as reading controls_targetTemperature to value 24
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_parameterVersionTFT as reading sensors_parameterVersionTFT to value 223
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_convectionFan2Area as reading controls_convectionFan2Area to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_statusWarning as reading sensors_statusWarning to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON stoveFeatures_multiAir2 as reading stoveFeatures_multiAir2 to value true
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_statusService as reading sensors_statusService to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_revision as reading controls_revision to value 1505198797
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_frostProtectionTemperature as reading controls_frostProtectionTemperature to value 4
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_heatingPower as reading controls_heatingPower to value 65
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_parameterFeedRateService as reading sensors_parameterFeedRateService to value 658
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_outputIgnition as reading sensors_outputIgnition to value false
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_parameterVersionMainBoard as reading sensors_parameterVersionMainBoard to value 223
2017.09.13 13:28:10 5: Ofen: Read set JSON stoveID as reading stoveID to value xxxxxx
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_outputDischargeMotor as reading sensors_outputDischargeMotor to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON lastSeenMinutes as reading lastSeenMinutes to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON controls_convectionFan2Level as reading controls_convectionFan2Level to value 0
2017.09.13 13:28:10 5: Ofen: Read set JSON sensors_statusSubState as reading sensors_statusSubState to value 3
Keine Ahnung warum das nicht in Codetags funktioniert - sorry
Wie gesagt wenn es dir hilft ändere ich gerne das PW
Gruß
Helmut
Jetzt hat er aber doch im "list Ofen" das attr angelegt:
Zitatreplacement11Value replaceJSON("frostProtectionTemperature", 2)
Jetzt bitte die 99_myUtils wieder auf
my $json = ReadingsVal("Ofen", "controlsJSON","");
und dann testen, was "set Ofen frostProtectionTemperature 10" ergibt. Die entspr. Log brauche ich dann
Pardon das war ein Missverständnis.
Das attr wurde gesetzt, aber der Wert in den readings oder im Ofen selbst hat sich nicht verändert?
2017.09.13 17:08:11 4: Ofen: GetUpdate called (update)
2017.09.13 17:08:11 4: Ofen: update timer modified: will call GetUpdate in 60.0 seconds at 2017-09-13 17:09:11
2017.09.13 17:08:11 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.13 17:08:11 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 0
2017.09.13 17:08:11 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 17:08:11 5: Ofen: Replace called for type update, regex data, mode expression, value replaceJSON("frostProtectionTemperature", 2) input:
2017.09.13 17:08:11 5: Ofen: Replace called for type update, regex data, mode expression, value replaceJSON("frostProtectionTemperature", 2) input:
2017.09.13 17:08:11 5: Ofen: Replace called for type update, regex data, mode expression, value replaceJSON("frostProtectionTemperature", 2) input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:08:11 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3APWs9acF6OmNYhA2xMOlEAvtoviBFtvoz.Tp8AZc5Sq32J1%2F2fyB77zg416E20%2F2ld1macYlnqhIk
2017.09.13 17:08:11 4: Ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, No Data,
header: Cookie: connect.sid=s%3APWs9acF6OmNYhA2xMOlEAvtoviBFtvoz.Tp8AZc5Sq32J1%2F2fyB77zg416E20%2F2ld1macYlnqhIk,
timeout 2
2017.09.13 17:08:11 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:08:11 5: HttpUtils request header:
GET /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3APWs9acF6OmNYhA2xMOlEAvtoviBFtvoz.Tp8AZc5Sq32J1%2F2fyB77zg416E20%2F2ld1macYlnqhIk
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.13 17:08:11 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 200
2017.09.13 17:08:11 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 1187
2017.09.13 17:08:11 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-iYWL1z0kpfZanf2Mb1HhDQ"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:11 GMT
Via: 1.1 vegur
2017.09.13 17:08:11 4: Ofen: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-iYWL1z0kpfZanf2Mb1HhDQ"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:11 GMT
Via: 1.1 vegur,
Body: {"name":"Vorzimmer","stoveID":"xxxxxx","lastSeenMinutes":1,"lastConfirmedRevision":1505198797,"controls":{"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4},"sensors":{"statusError":0,"statusWarning":0,"statusService":0,"statusMainState":1,"statusSubState":3,"statusFrostStarted":false,"inputFlameTemperature":22,"inputRoomTemperature":22,"inputExternalRequest":true,"outputDischargeMotor":0,"outputInsertionMotor":0,"outputIDFan":0,"outputAirFlaps":0,"outputIgnition":false,"parameterStoveTypeNumber":13,"parameterVersionMainBoard":223,"parameterVersionTFT":223,"parameterRuntimePellets":28,"parameterRuntimeLogs":0,"parameterFeedRateTotal":42,"parameterFeedRateService":658,"parameterOnOffCycles":2},"stoveType":"DOMO MultiAir","stoveFeatures":{"multiAir1":true,"multiAir2":true,"insertionMotor":false,"airFlaps":false,"logRuntime":false}}
2017.09.13 17:08:11 5: Ofen: JSON Flatter called : prefix , ref is HASH(0x180ff70)
2017.09.13 17:08:11 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 17:08:11 5: Ofen: JSON Flatter called : prefix controls_, ref is HASH(0x315bf48)
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_setBackTemperature to 18
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_convectionFan1Area to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_convectionFan1Active to false
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_convectionFan1Level to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_frostProtectionTemperature to 4
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_frostProtectionActive to false
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_convectionFan2Level to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_onOff to true
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_targetTemperature to 24
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_convectionFan2Active to false
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_heatingTimesActive to false
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_heatingPower to 65
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_operatingMode to 2
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_convectionFan2Area to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_heatingTimesActiveForComfort to true
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets controls_revision to 1505198797
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets name to Vorzimmer
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets lastConfirmedRevision to 1505198797
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets stoveType to DOMO MultiAir
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets lastSeenMinutes to 1
2017.09.13 17:08:11 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 17:08:11 5: Ofen: JSON Flatter called : prefix stoveFeatures_, ref is HASH(0x315b8c8)
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets stoveFeatures_logRuntime to false
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets stoveFeatures_insertionMotor to false
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets stoveFeatures_multiAir1 to true
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets stoveFeatures_airFlaps to false
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets stoveFeatures_multiAir2 to true
2017.09.13 17:08:11 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 17:08:11 5: Ofen: JSON Flatter called : prefix sensors_, ref is HASH(0x3077b10)
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_outputIgnition to false
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_inputExternalRequest to true
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_parameterRuntimePellets to 28
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_statusError to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_parameterVersionTFT to 223
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_outputInsertionMotor to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_parameterRuntimeLogs to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_outputIDFan to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_parameterFeedRateTotal to 42
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_outputDischargeMotor to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_outputAirFlaps to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_statusFrostStarted to false
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_statusSubState to 3
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_inputFlameTemperature to 22
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_parameterStoveTypeNumber to 13
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_statusWarning to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_inputRoomTemperature to 22
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_parameterOnOffCycles to 2
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_statusMainState to 1
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_statusService to 0
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_parameterVersionMainBoard to 223
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets sensors_parameterFeedRateService to 658
2017.09.13 17:08:11 5: Ofen: JSON Flatter sets stoveID to xxxxxx
2017.09.13 17:08:11 4: Ofen: extracted JSON values to internal
2017.09.13 17:08:11 5: Ofen: looking for Cookies in HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-iYWL1z0kpfZanf2Mb1HhDQ"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:11 GMT
Via: 1.1 vegur
2017.09.13 17:08:11 5: Ofen: ExtractSid called, context reading, num
2017.09.13 17:08:11 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 17:08:11 4: Ofen: CheckAuth decided no authentication required
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_convectionFan2Active as reading controls_convectionFan2Active to value false
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_inputFlameTemperature as reading sensors_inputFlameTemperature to value 22
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_operatingMode as reading controls_operatingMode to value 2
2017.09.13 17:08:11 5: Ofen: Read set JSON stoveFeatures_multiAir1 as reading stoveFeatures_multiAir1 to value true
2017.09.13 17:08:11 5: Ofen: Read set JSON stoveFeatures_insertionMotor as reading stoveFeatures_insertionMotor to value false
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_inputExternalRequest as reading sensors_inputExternalRequest to value true
2017.09.13 17:08:11 5: Ofen: Read set JSON stoveType as reading stoveType to value DOMO MultiAir
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_convectionFan1Active as reading controls_convectionFan1Active to value false
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_onOff as reading controls_onOff to value true
2017.09.13 17:08:11 5: Ofen: Read set JSON lastConfirmedRevision as reading lastConfirmedRevision to value 1505198797
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_convectionFan1Level as reading controls_convectionFan1Level to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_outputIDFan as reading sensors_outputIDFan to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON stoveID as reading stoveID to value xxxxxx
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_parameterVersionMainBoard as reading sensors_parameterVersionMainBoard to value 223
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_statusSubState as reading sensors_statusSubState to value 3
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_convectionFan2Level as reading controls_convectionFan2Level to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON lastSeenMinutes as reading lastSeenMinutes to value 1
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_outputDischargeMotor as reading sensors_outputDischargeMotor to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_heatingPower as reading controls_heatingPower to value 65
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_frostProtectionTemperature as reading controls_frostProtectionTemperature to value 4
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_outputIgnition as reading sensors_outputIgnition to value false
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_parameterFeedRateService as reading sensors_parameterFeedRateService to value 658
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_convectionFan2Area as reading controls_convectionFan2Area to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_targetTemperature as reading controls_targetTemperature to value 24
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_parameterVersionTFT as reading sensors_parameterVersionTFT to value 223
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_revision as reading controls_revision to value 1505198797
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_statusService as reading sensors_statusService to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_statusWarning as reading sensors_statusWarning to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON stoveFeatures_multiAir2 as reading stoveFeatures_multiAir2 to value true
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_parameterFeedRateTotal as reading sensors_parameterFeedRateTotal to value 42
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_statusError as reading sensors_statusError to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON name as reading name to value Vorzimmer
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_setBackTemperature as reading controls_setBackTemperature to value 18
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_parameterRuntimeLogs as reading sensors_parameterRuntimeLogs to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_parameterOnOffCycles as reading sensors_parameterOnOffCycles to value 2
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_outputAirFlaps as reading sensors_outputAirFlaps to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_heatingTimesActive as reading controls_heatingTimesActive to value false
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_convectionFan1Area as reading controls_convectionFan1Area to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON stoveFeatures_logRuntime as reading stoveFeatures_logRuntime to value false
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_parameterRuntimePellets as reading sensors_parameterRuntimePellets to value 28
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_frostProtectionActive as reading controls_frostProtectionActive to value false
2017.09.13 17:08:11 5: Ofen: Read set JSON controls_heatingTimesActiveForComfort as reading controls_heatingTimesActiveForComfort to value true
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_statusMainState as reading sensors_statusMainState to value 1
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_outputInsertionMotor as reading sensors_outputInsertionMotor to value 0
2017.09.13 17:08:11 5: Ofen: Read set JSON stoveFeatures_airFlaps as reading stoveFeatures_airFlaps to value false
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_statusFrostStarted as reading sensors_statusFrostStarted to value false
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_parameterStoveTypeNumber as reading sensors_parameterStoveTypeNumber to value 13
2017.09.13 17:08:11 5: Ofen: Read set JSON sensors_inputRoomTemperature as reading sensors_inputRoomTemperature to value 22
2017.09.13 17:08:11 5: Ofen: Read starts parsing response to update with defined readings: 01,02,03,10
2017.09.13 17:08:11 5: Ofen: ExtractReading RaumTemp with json sensors_inputRoomTemperature ...
2017.09.13 17:08:11 4: Ofen: ExtractReading for reading01-1 sets RaumTemp to 22
2017.09.13 17:08:11 5: Ofen: ExtractReading Absenkung with json controls_setBackTemperature ...
2017.09.13 17:08:11 4: Ofen: ExtractReading for reading02-1 sets Absenkung to 18
2017.09.13 17:08:11 5: Ofen: ExtractReading Frostschutz with json controls_frostProtectionTemperature ...
2017.09.13 17:08:11 4: Ofen: ExtractReading for reading03-1 sets Frostschutz to 4
2017.09.13 17:08:11 5: Ofen: ExtractReading controlsJSON with regex /(?s)controls.*?({.*?})/...
2017.09.13 17:08:11 5: Ofen: 1 capture group(s), matchlist = {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 17:08:11 4: Ofen: ExtractReading for reading10-1 sets controlsJSON to {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 17:08:11 4: Ofen: Read response to update matched Reading(s) controls_convectionFan2Active sensors_inputFlameTemperature controls_operatingMode stoveFeatures_multiAir1 stoveFeatures_insertionMotor sensors_inputExternalRequest stoveType controls_convectionFan1Active controls_onOff lastConfirmedRevision controls_convectionFan1Level sensors_outputIDFan stoveID sensors_parameterVersionMainBoard sensors_statusSubState controls_convectionFan2Level lastSeenMinutes sensors_outputDischargeMotor controls_heatingPower controls_frostProtectionTemperature sensors_outputIgnition sensors_parameterFeedRateService controls_convectionFan2Area controls_targetTemperature sensors_parameterVersionTFT controls_revision sensors_statusService sensors_statusWarning stoveFeatures_multiAir2 sensors_parameterFeedRateTotal sensors_statusError name controls_setBackTemperature sensors_parameterRuntimeLogs sensors_parameterOnOffCycles sensors_outputAirFlaps controls_heatingTimesActive controls_convectionFan1Area stoveFeatures_logRuntime sensors_parameterRuntimePellets controls_frostProtectionActive controls_heatingTimesActiveForComfort sensors_statusMainState sensors_outputInsertionMotor stoveFeatures_airFlaps sensors_statusFrostStarted sensors_parameterStoveTypeNumber sensors_inputRoomTemperature RaumTemp Absenkung Frostschutz controlsJSON
2017.09.13 17:08:11 5: Ofen: HandleSendQueue called, qlen = 0
2017.09.13 17:08:19 1: PERL WARNING: Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 16.
2017.09.13 17:08:19 1: PERL WARNING: Subroutine replaceJSON redefined at ./FHEM/99_myUtils.pm line 21.
2017.09.13 17:08:22 0: Server shutdown
2017.09.13 17:08:25 1: Including fhem.cfg
2017.09.13 17:08:25 3: telnetPort: port 7072 opened
2017.09.13 17:08:25 3: WEB: port 8093 opened
2017.09.13 17:08:25 3: WEBphone: port 8094 opened
2017.09.13 17:08:25 3: WEBtablet: port 8095 opened
2017.09.13 17:08:25 2: eventTypes: loaded 1275 events from ./log/eventTypes.txt
2017.09.13 17:08:25 3: Opening CUL_0 device /dev/ttyACM0
2017.09.13 17:08:25 3: Setting CUL_0 serial parameters to 9600,8,N,1
2017.09.13 17:08:25 3: CUL_0: Possible commands: BCFiANEkGMKUYRTVWXefmLltux
2017.09.13 17:08:25 3: CUL_0 device opened
2017.09.13 17:08:25 3: Opening CUL_1 device /dev/ttyACM1
2017.09.13 17:08:25 3: Setting CUL_1 serial parameters to 9600,8,N,1
2017.09.13 17:08:26 3: CUL_1: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2017.09.13 17:08:26 3: CUL_1 device opened
2017.09.13 17:08:26 3: myHmUART device closed
2017.09.13 17:08:26 3: Opening myHmUART device /dev/ttyAMA0
2017.09.13 17:08:26 3: Setting myHmUART serial parameters to 115200,8,N,1
2017.09.13 17:08:26 3: myHmUART device opened
2017.09.13 17:08:28 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet/:
2017.09.13 17:08:28 3: Registering HTTPSRV TABLETUI for URL /ftui and assigned link ftui/ ...
2017.09.13 17:08:29 3: Ofen: Defined with URL https://www.rika-firenet.com/api/client/xxxxxx/status and interval 60
2017.09.13 17:08:29 3: replaceJSON Internalvalue: 2
2017.09.13 17:08:29 3: Ofen: Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 27, <$fh> line 650.
2017.09.13 17:08:29 3: Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 27, <$fh> line 650.
2017.09.13 17:08:29 1: Including ./log/fhem.save
2017.09.13 17:08:29 1: configfile: Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 27, <$fh> line 650.
2017.09.13 17:08:29 3: Device Eingangstuere added to ActionDetector with 028:00 time
2017.09.13 17:08:29 3: Device Rueckseite_Haus added to ActionDetector with 000:10 time
2017.09.13 17:08:29 3: Device Terrasse added to ActionDetector with 000:10 time
2017.09.13 17:08:29 3: Device Wasserschacht added to ActionDetector with 000:10 time
2017.09.13 17:08:29 3: Device Wintergarten added to ActionDetector with 000:10 time
2017.09.13 17:08:29 1: usb create starting
2017.09.13 17:08:29 3: Probing CUL device /dev/ttyS0
2017.09.13 17:08:30 1: usb create end
2017.09.13 17:08:30 2: Messages collected while initializing FHEM: configfile: Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 27, <$fh> line 650.
2017.09.13 17:08:30 0: Featurelevel: 5.8
2017.09.13 17:08:30 0: Server started with 109 defined entities (fhem.pl:15042/2017-09-10 perl:5.020002 os:linux user:fhem pid:23271)
2017.09.13 17:08:30 3: CUL_HM set Stehlampe_Stiegen statusRequest
2017.09.13 17:08:31 4: Ofen: GetUpdate called (update)
2017.09.13 17:08:31 4: Ofen: update timer modified: will call GetUpdate in 60.0 seconds at 2017-09-13 17:09:31
2017.09.13 17:08:31 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.13 17:08:31 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 0
2017.09.13 17:08:31 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 17:08:31 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 17:08:31 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 17:08:31 5: Ofen: Replace called for type update, regex data, mode expression, empty value input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:08:31 4: Ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, No Data, No Header,
timeout 2
2017.09.13 17:08:31 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:08:31 5: HttpUtils request header:
GET /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.13 17:08:31 3: CUL_HM set Wintergartenlicht statusRequest
2017.09.13 17:08:31 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 401
2017.09.13 17:08:31 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 23
2017.09.13 17:08:31 5: HttpUtils response header:
HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:31 GMT
Via: 1.1 vegur
2017.09.13 17:08:31 4: Ofen: Read callback: request type was update retry 0,
Header: HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:31 GMT
Via: 1.1 vegur,
Body: Authorisation required!
2017.09.13 17:08:31 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Authorisation requir...") at (eval 68) line 1.
2017.09.13 17:08:31 5: Ofen: looking for Cookies in HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:31 GMT
Via: 1.1 vegur
2017.09.13 17:08:31 5: Ofen: Set-Cookie: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs; Path=/; HttpOnly
2017.09.13 17:08:31 4: Ofen: Cookie: connect.sid Wert s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs Rest Path=/; HttpOnly
2017.09.13 17:08:31 5: Ofen: ExtractSid called, context reading, num
2017.09.13 17:08:31 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 17:08:31 4: Ofen: CheckAuth decided new authentication required
2017.09.13 17:08:31 4: Ofen: Auth called with Steps: 01
2017.09.13 17:08:31 4: Ofen: AddToQueue adds auth01, initial queue len: 0, prio
2017.09.13 17:08:31 5: Ofen: AddToQueue prepends type auth01 to URL https://www.rika-firenet.com/web/login, data email=ich@wir.at&password=strenggeheim, no headers, retry 0
2017.09.13 17:08:31 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 17:08:31 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input:
2017.09.13 17:08:31 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input: email=ich@wir.at&password=strenggeheim
2017.09.13 17:08:31 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input: https://www.rika-firenet.com/web/login
2017.09.13 17:08:31 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs
2017.09.13 17:08:31 4: Ofen: HandleSendQueue sends request type auth01 to URL https://www.rika-firenet.com/web/login,
data: email=ich@wir.at&password=strenggeheim,
header: Cookie: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs,
timeout 2
2017.09.13 17:08:31 4: HttpUtils url=https://www.rika-firenet.com/web/login
2017.09.13 17:08:31 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.13 17:08:31 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 1
2017.09.13 17:08:31 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 17:08:31 5: Ofen: HandleSendQueue - still waiting for reply to last request, delay sending from queue
2017.09.13 17:08:31 4: Ofen: CheckAuth requeued request update after auth, retryCount 0 ...
2017.09.13 17:08:31 5: HttpUtils request header:
POST /web/login HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs
Content-Length: 40
Content-Type: application/x-www-form-urlencoded
2017.09.13 17:08:31 4: https://www.rika-firenet.com/web/login: HTTP response code 302
2017.09.13 17:08:31 4: HttpUtils https://www.rika-firenet.com/web/login: Redirect to https://www.rika-firenet.com:443/web/summary
2017.09.13 17:08:31 4: HttpUtils url=https://www.rika-firenet.com:443/web/summary
2017.09.13 17:08:32 5: HttpUtils request header:
POST /web/summary HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs
Content-Length: 40
Content-Type: application/x-www-form-urlencoded
2017.09.13 17:08:32 4: https://www.rika-firenet.com:443/web/summary: HTTP response code 404
2017.09.13 17:08:32 4: HttpUtils https://www.rika-firenet.com:443/web/summary: Got data, length: 3368
2017.09.13 17:08:32 5: HttpUtils response header:
HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3368
Etag: W/"d28-RtjAq+p2WLtlHTFmcxLnsA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:32 GMT
Via: 1.1 vegur
2017.09.13 17:08:32 4: Ofen: Read callback: request type was auth01 retry 0,
Header: HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3368
Etag: W/"d28-RtjAq+p2WLtlHTFmcxLnsA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:32 GMT
Via: 1.1 vegur,
Body: <!DOCTYPE html><html lang="en" dir="ltr"><head><title>RIKA firenet</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- ********** Dynatrace RUM tags ******--><script type="text/javascript" src="https://js-cdn.dynatrace.com/jstag/15a8a271790/hpl92690/f1dedd4f87d6b03a_bs.js" crossorigin="anonymous"></script><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,200"><link rel="stylesheet" href="/assets/rika-firenet.css"><script src="/assets/rika-firenet-en.js"></script><!-- ****** faviconit.com Favicons ******--><link rel="shortcut icon" href="/images/favicon/favicon.ico"><link rel="icon" sizes="16x16 32x32 64x64" href="/images/favicon/favicon.ico"><link rel="icon" type="image/png" sizes="196x196" href="/images/favicon/favicon-192.png"><link rel="icon" type="image/png" sizes="160x160" href="/images/favicon/favicon-160.png"><link rel="icon" type="image/png" sizes="96x96" href="/images/favicon/favicon-96.png"><link rel="icon" type="image/png" sizes="64x64" href="/images/favicon/favicon-64.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32.png"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16.png"><link rel="apple-touch-icon" href="/images/favicon/favicon-57.png"><link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/favicon-114.png"><link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/favicon-72.png"><link rel="apple-touch-icon" sizes="144x144" href="/images/favicon/favicon-144.png"><link rel="apple-touch-icon" sizes="60x60" href="/images/favicon/favicon-60.png"><link rel="apple-touch-icon" sizes="120x120" href="/images/favicon/favicon-120.png"><link rel="apple-touch-icon" sizes="76x76" href="/images/favicon/favicon-76.png"><link rel="apple-touch-icon" sizes="152x152" href="/images/favicon/favicon-152.png"><link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/favicon-180.png"><meta name="msapplication-TileColor" content="#FFFFFF"><meta name="msapplication-TileImage" content="/images/favicon/favicon-144.png"><meta name="msapplication-config" content="/images/favicon/browserconfig.xml"><!-- ****** faviconit.com Favicons ******--></head><body id="rika-body"><div data-role="page"><div id="rika-header" data-role="header" data-position="fixed" data-tap-toggle="false"><div class="rika-header-wrapper"><div id="deploymentStage"></div><a href="/web/" style="float:left"><img src="/images/RIKA-flame.svg" style="height:2.8em; padding: 0.1em;"></a><div style="height:3em; padding:0px 0px; position: relative" class="ui-title"> <span style="vertical-align: middle; line-height: 3em">RIKA firenet</span></div></div></div><div role="main" class="ui-content"><h1>Not Found</h1><h2></h2><pre></pre></div><div id="about-footer"></div></div><div id="gadiv"><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-71662097-1', 'auto');
ga('send', 'pageview');</script></div></body></html>
2017.09.13 17:08:32 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 71) line 1.
2017.09.13 17:08:32 5: Ofen: looking for Cookies in HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3368
Etag: W/"d28-RtjAq+p2WLtlHTFmcxLnsA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:32 GMT
Via: 1.1 vegur
2017.09.13 17:08:32 5: Ofen: ExtractSid called, context sid, num 01
2017.09.13 17:08:32 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 17:08:32 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 17:08:32 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 17:08:32 5: Ofen: Replace called for type update, regex data, mode expression, empty value input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:08:32 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs
2017.09.13 17:08:32 4: Ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, No Data,
header: Cookie: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs,
timeout 2
2017.09.13 17:08:32 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:08:32 5: HttpUtils request header:
GET /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.13 17:08:32 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 200
2017.09.13 17:08:32 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 1187
2017.09.13 17:08:32 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-iYWL1z0kpfZanf2Mb1HhDQ"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:32 GMT
Via: 1.1 vegur
2017.09.13 17:08:32 4: Ofen: Read callback: request type was update retry 1,
Header: HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-iYWL1z0kpfZanf2Mb1HhDQ"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:32 GMT
Via: 1.1 vegur,
Body: {"name":"Vorzimmer","stoveID":"xxxxxx","lastSeenMinutes":1,"lastConfirmedRevision":1505198797,"controls":{"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4},"sensors":{"statusError":0,"statusWarning":0,"statusService":0,"statusMainState":1,"statusSubState":3,"statusFrostStarted":false,"inputFlameTemperature":22,"inputRoomTemperature":22,"inputExternalRequest":true,"outputDischargeMotor":0,"outputInsertionMotor":0,"outputIDFan":0,"outputAirFlaps":0,"outputIgnition":false,"parameterStoveTypeNumber":13,"parameterVersionMainBoard":223,"parameterVersionTFT":223,"parameterRuntimePellets":28,"parameterRuntimeLogs":0,"parameterFeedRateTotal":42,"parameterFeedRateService":658,"parameterOnOffCycles":2},"stoveType":"DOMO MultiAir","stoveFeatures":{"multiAir1":true,"multiAir2":true,"insertionMotor":false,"airFlaps":false,"logRuntime":false}}
2017.09.13 17:08:32 5: Ofen: JSON Flatter called : prefix , ref is HASH(0x261c1c0)
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets stoveID to xxxxxx
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets stoveType to DOMO MultiAir
2017.09.13 17:08:32 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 17:08:32 5: Ofen: JSON Flatter called : prefix controls_, ref is HASH(0x2570fe8)
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_convectionFan1Level to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_convectionFan1Active to false
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_convectionFan2Area to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_onOff to true
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_revision to 1505198797
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_heatingPower to 65
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_convectionFan1Area to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_heatingTimesActiveForComfort to true
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_frostProtectionActive to false
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_convectionFan2Active to false
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_operatingMode to 2
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_setBackTemperature to 18
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_frostProtectionTemperature to 4
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_convectionFan2Level to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_targetTemperature to 24
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets controls_heatingTimesActive to false
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets lastSeenMinutes to 1
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets lastConfirmedRevision to 1505198797
2017.09.13 17:08:32 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 17:08:32 5: Ofen: JSON Flatter called : prefix stoveFeatures_, ref is HASH(0x262a720)
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets stoveFeatures_multiAir2 to true
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets stoveFeatures_multiAir1 to true
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets stoveFeatures_logRuntime to false
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets stoveFeatures_insertionMotor to false
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets stoveFeatures_airFlaps to false
2017.09.13 17:08:32 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 17:08:32 5: Ofen: JSON Flatter called : prefix sensors_, ref is HASH(0x26bebc0)
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_parameterFeedRateService to 658
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_statusFrostStarted to false
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_statusError to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_statusWarning to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_statusSubState to 3
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_outputIDFan to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_parameterFeedRateTotal to 42
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_outputAirFlaps to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_parameterVersionMainBoard to 223
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_outputInsertionMotor to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_statusService to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_inputRoomTemperature to 22
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_parameterRuntimeLogs to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_inputFlameTemperature to 22
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_parameterRuntimePellets to 28
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_outputIgnition to false
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_statusMainState to 1
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_parameterStoveTypeNumber to 13
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_parameterOnOffCycles to 2
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_parameterVersionTFT to 223
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_outputDischargeMotor to 0
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets sensors_inputExternalRequest to true
2017.09.13 17:08:32 5: Ofen: JSON Flatter sets name to Vorzimmer
2017.09.13 17:08:32 4: Ofen: extracted JSON values to internal
2017.09.13 17:08:32 5: Ofen: looking for Cookies in HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-iYWL1z0kpfZanf2Mb1HhDQ"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:08:32 GMT
Via: 1.1 vegur
2017.09.13 17:08:32 5: Ofen: ExtractSid called, context reading, num
2017.09.13 17:08:32 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 17:08:32 4: Ofen: CheckAuth decided no authentication required
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_parameterFeedRateService as reading sensors_parameterFeedRateService to value 658
2017.09.13 17:08:32 5: Ofen: Read set JSON stoveFeatures_insertionMotor as reading stoveFeatures_insertionMotor to value false
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_outputAirFlaps as reading sensors_outputAirFlaps to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON lastSeenMinutes as reading lastSeenMinutes to value 1
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_statusFrostStarted as reading sensors_statusFrostStarted to value false
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_parameterOnOffCycles as reading sensors_parameterOnOffCycles to value 2
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_statusWarning as reading sensors_statusWarning to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON stoveFeatures_multiAir2 as reading stoveFeatures_multiAir2 to value true
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_convectionFan1Area as reading controls_convectionFan1Area to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_inputExternalRequest as reading sensors_inputExternalRequest to value true
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_targetTemperature as reading controls_targetTemperature to value 24
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_outputInsertionMotor as reading sensors_outputInsertionMotor to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_parameterFeedRateTotal as reading sensors_parameterFeedRateTotal to value 42
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_operatingMode as reading controls_operatingMode to value 2
2017.09.13 17:08:32 5: Ofen: Read set JSON stoveFeatures_logRuntime as reading stoveFeatures_logRuntime to value false
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_onOff as reading controls_onOff to value true
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_heatingPower as reading controls_heatingPower to value 65
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_convectionFan2Area as reading controls_convectionFan2Area to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_parameterVersionTFT as reading sensors_parameterVersionTFT to value 223
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_inputFlameTemperature as reading sensors_inputFlameTemperature to value 22
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_statusMainState as reading sensors_statusMainState to value 1
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_statusError as reading sensors_statusError to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_parameterRuntimePellets as reading sensors_parameterRuntimePellets to value 28
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_setBackTemperature as reading controls_setBackTemperature to value 18
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_outputIgnition as reading sensors_outputIgnition to value false
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_heatingTimesActive as reading controls_heatingTimesActive to value false
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_frostProtectionActive as reading controls_frostProtectionActive to value false
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_statusSubState as reading sensors_statusSubState to value 3
2017.09.13 17:08:32 5: Ofen: Read set JSON lastConfirmedRevision as reading lastConfirmedRevision to value 1505198797
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_parameterRuntimeLogs as reading sensors_parameterRuntimeLogs to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON name as reading name to value Vorzimmer
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_convectionFan1Level as reading controls_convectionFan1Level to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_outputIDFan as reading sensors_outputIDFan to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_convectionFan2Level as reading controls_convectionFan2Level to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_heatingTimesActiveForComfort as reading controls_heatingTimesActiveForComfort to value true
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_inputRoomTemperature as reading sensors_inputRoomTemperature to value 22
2017.09.13 17:08:32 5: Ofen: Read set JSON stoveID as reading stoveID to value xxxxxx
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_convectionFan1Active as reading controls_convectionFan1Active to value false
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_revision as reading controls_revision to value 1505198797
2017.09.13 17:08:32 5: Ofen: Read set JSON stoveType as reading stoveType to value DOMO MultiAir
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_parameterStoveTypeNumber as reading sensors_parameterStoveTypeNumber to value 13
2017.09.13 17:08:32 5: Ofen: Read set JSON stoveFeatures_multiAir1 as reading stoveFeatures_multiAir1 to value true
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_parameterVersionMainBoard as reading sensors_parameterVersionMainBoard to value 223
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_frostProtectionTemperature as reading controls_frostProtectionTemperature to value 4
2017.09.13 17:08:32 5: Ofen: Read set JSON stoveFeatures_airFlaps as reading stoveFeatures_airFlaps to value false
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_outputDischargeMotor as reading sensors_outputDischargeMotor to value 0
2017.09.13 17:08:32 5: Ofen: Read set JSON controls_convectionFan2Active as reading controls_convectionFan2Active to value false
2017.09.13 17:08:32 5: Ofen: Read set JSON sensors_statusService as reading sensors_statusService to value 0
2017.09.13 17:08:32 5: Ofen: UpdateReadingList created list of reading.* nums to parse during getUpdate as 01 02 03 10
2017.09.13 17:08:32 5: Ofen: Read starts parsing response to update with defined readings: 01,02,03,10
2017.09.13 17:08:32 5: Ofen: ExtractReading RaumTemp with json sensors_inputRoomTemperature ...
2017.09.13 17:08:32 4: Ofen: ExtractReading for reading01-1 sets RaumTemp to 22
2017.09.13 17:08:32 5: Ofen: ExtractReading Absenkung with json controls_setBackTemperature ...
2017.09.13 17:08:32 4: Ofen: ExtractReading for reading02-1 sets Absenkung to 18
2017.09.13 17:08:32 5: Ofen: ExtractReading Frostschutz with json controls_frostProtectionTemperature ...
2017.09.13 17:08:32 4: Ofen: ExtractReading for reading03-1 sets Frostschutz to 4
2017.09.13 17:08:32 5: Ofen: ExtractReading controlsJSON with regex /(?s)controls.*?({.*?})/...
2017.09.13 17:08:32 5: Ofen: 1 capture group(s), matchlist = {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 17:08:32 4: Ofen: ExtractReading for reading10-1 sets controlsJSON to {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 17:08:32 4: Ofen: Read response to update matched Reading(s) sensors_parameterFeedRateService stoveFeatures_insertionMotor sensors_outputAirFlaps lastSeenMinutes sensors_statusFrostStarted sensors_parameterOnOffCycles sensors_statusWarning stoveFeatures_multiAir2 controls_convectionFan1Area sensors_inputExternalRequest controls_targetTemperature sensors_outputInsertionMotor sensors_parameterFeedRateTotal controls_operatingMode stoveFeatures_logRuntime controls_onOff controls_heatingPower controls_convectionFan2Area sensors_parameterVersionTFT sensors_inputFlameTemperature sensors_statusMainState sensors_statusError sensors_parameterRuntimePellets controls_setBackTemperature sensors_outputIgnition controls_heatingTimesActive controls_frostProtectionActive sensors_statusSubState lastConfirmedRevision sensors_parameterRuntimeLogs name controls_convectionFan1Level sensors_outputIDFan controls_convectionFan2Level controls_heatingTimesActiveForComfort sensors_inputRoomTemperature stoveID controls_convectionFan1Active controls_revision stoveType sensors_parameterStoveTypeNumber stoveFeatures_multiAir1 sensors_parameterVersionMainBoard controls_frostProtectionTemperature stoveFeatures_airFlaps sensors_outputDischargeMotor controls_convectionFan2Active sensors_statusService RaumTemp Absenkung Frostschutz controlsJSON
2017.09.13 17:08:32 5: Ofen: HandleSendQueue called, qlen = 0
2017.09.13 17:08:39 5: Ofen: UpdateHintList called
2017.09.13 17:08:39 5: Ofen: UpdateHintList: setlist = FrostschutzTemp:3,5,7,10 frostProtectionTemperature
2017.09.13 17:08:39 5: Ofen: UpdateHintList: getlist =
2017.09.13 17:09:16 5: Ofen: set called with FrostschutzTemp 10
2017.09.13 17:09:16 5: Ofen: set found option FrostschutzTemp in attribute set01Name
2017.09.13 17:09:16 5: Ofen: is checking value 10 against min 3
2017.09.13 17:09:16 5: Ofen: set is checking value 10 against max 10
2017.09.13 17:09:16 4: Ofen: set will now set FrostschutzTemp -> 10
2017.09.13 17:09:16 4: Ofen: AddToQueue adds set01, initial queue len: 0
2017.09.13 17:09:16 5: Ofen: AddToQueue adds type set01 to URL https://www.rika-firenet.com/api/client/xxxxxx/status, data {"name": "Vorzimmer", "stoveID": "xxxxxx", "controls": {"frostProtectionTemperature": "$val"}}, no headers, retry 0
2017.09.13 17:09:16 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 17:09:16 5: Ofen: Replace called for type set01, regex data, mode expression, empty value input:
2017.09.13 17:09:16 5: Ofen: Replace called for type set01, regex data, mode expression, empty value input: {"name": "Vorzimmer", "stoveID": "xxxxxx", "controls": {"frostProtectionTemperature": "$val"}}
2017.09.13 17:09:16 5: Ofen: Replace called for type set01, regex data, mode expression, empty value input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:09:16 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3A1aRYM6bx6zqhrL7jPk1p-905v4kM3c-B.dl5ANMRYdbOSDupCmjzfWkGPnlpr3oB0oVu9U3UFBGs
2017.09.13 17:09:16 4: Ofen: HandleSendQueue sends request type set01 to URL https://www.rika-firenet.com/api/client/xxxxxx/status,
Ok, jetzt habe ich die relevante Stelle gesehen, wo "replaceJSON Internalvalue:" kommt.
Kannst Du bitte folgende Zeile hinzufügen: Log3 ("Ofen", 3, "replaceJSON configsJSON: $json");
zwischen "my $json=" Zeile und "my $decoded = " Zeile hnizufügen?
und dann die relevante Log nach einem "set" wieder Zeigen?
Bittesehr
2017.09.13 17:59:45 0: Server shutdown
2017.09.13 17:59:47 1: Including fhem.cfg
2017.09.13 17:59:47 3: telnetPort: port 7072 opened
2017.09.13 17:59:48 3: WEB: port 8093 opened
2017.09.13 17:59:48 3: WEBphone: port 8094 opened
2017.09.13 17:59:48 3: WEBtablet: port 8095 opened
2017.09.13 17:59:48 2: eventTypes: loaded 1275 events from ./log/eventTypes.txt
2017.09.13 17:59:48 3: Opening CUL_0 device /dev/ttyACM0
2017.09.13 17:59:48 3: Setting CUL_0 serial parameters to 9600,8,N,1
2017.09.13 17:59:48 3: CUL_0: Possible commands: BCFiANEkGMKUYRTVWXefmLltux
2017.09.13 17:59:48 3: CUL_0 device opened
2017.09.13 17:59:48 3: Opening CUL_1 device /dev/ttyACM1
2017.09.13 17:59:48 3: Setting CUL_1 serial parameters to 9600,8,N,1
2017.09.13 17:59:49 3: CUL_1: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2017.09.13 17:59:49 3: CUL_1 device opened
2017.09.13 17:59:49 3: myHmUART device closed
2017.09.13 17:59:49 3: Opening myHmUART device /dev/ttyAMA0
2017.09.13 17:59:49 3: Setting myHmUART serial parameters to 115200,8,N,1
2017.09.13 17:59:49 3: myHmUART device opened
2017.09.13 17:59:51 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet/:
2017.09.13 17:59:51 3: Registering HTTPSRV TABLETUI for URL /ftui and assigned link ftui/ ...
2017.09.13 17:59:51 3: Ofen: Defined with URL https://www.rika-firenet.com/api/client/xxxxxx/status and interval 60
2017.09.13 17:59:51 3: replaceJSON Internalvalue: 2
2017.09.13 17:59:51 3: replaceJSON configsJSON:
2017.09.13 17:59:51 3: Ofen: Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 28, <$fh> line 650.
2017.09.13 17:59:51 3: Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 28, <$fh> line 650.
2017.09.13 17:59:52 1: Including ./log/fhem.save
2017.09.13 17:59:52 1: configfile: Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 28, <$fh> line 650.
2017.09.13 17:59:52 3: Device Eingangstuere added to ActionDetector with 028:00 time
2017.09.13 17:59:52 3: Device Rueckseite_Haus added to ActionDetector with 000:10 time
2017.09.13 17:59:52 3: Device Terrasse added to ActionDetector with 000:10 time
2017.09.13 17:59:52 3: Device Wasserschacht added to ActionDetector with 000:10 time
2017.09.13 17:59:52 3: Device Wintergarten added to ActionDetector with 000:10 time
2017.09.13 17:59:52 1: usb create starting
2017.09.13 17:59:52 3: Probing CUL device /dev/ttyS0
2017.09.13 17:59:52 1: usb create end
2017.09.13 17:59:52 2: Messages collected while initializing FHEM: configfile: Attr with invalid Expression (mode is expression) in attr Ofen replacement11Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 28, <$fh> line 650.
2017.09.13 17:59:52 0: Featurelevel: 5.8
2017.09.13 17:59:52 0: Server started with 109 defined entities (fhem.pl:15042/2017-09-10 perl:5.020002 os:linux user:fhem pid:29029)
2017.09.13 17:59:53 5: Ofen: UpdateHintList called
2017.09.13 17:59:53 5: Ofen: UpdateHintList: setlist = frostProtectionTemperature FrostschutzTemp:3,5,7,10
2017.09.13 17:59:53 5: Ofen: UpdateHintList: getlist =
2017.09.13 17:59:53 3: CUL_HM set Stehlampe_Stiegen statusRequest
2017.09.13 17:59:53 4: Ofen: GetUpdate called (update)
2017.09.13 17:59:53 4: Ofen: update timer modified: will call GetUpdate in 60.0 seconds at 2017-09-13 18:00:53
2017.09.13 17:59:53 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.13 17:59:53 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 0
2017.09.13 17:59:53 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 17:59:53 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 17:59:53 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 17:59:53 5: Ofen: Replace called for type update, regex data, mode expression, empty value input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:59:53 4: Ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, No Data, No Header,
timeout 2
2017.09.13 17:59:53 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:59:54 5: HttpUtils request header:
GET /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.13 17:59:54 3: CUL_HM set Wintergartenlicht statusRequest
2017.09.13 17:59:54 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 401
2017.09.13 17:59:54 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 23
2017.09.13 17:59:54 5: HttpUtils response header:
HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:59:54 GMT
Via: 1.1 vegur
2017.09.13 17:59:54 4: Ofen: Read callback: request type was update retry 0,
Header: HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:59:54 GMT
Via: 1.1 vegur,
Body: Authorisation required!
2017.09.13 17:59:54 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Authorisation requir...") at (eval 78) line 1.
2017.09.13 17:59:54 5: Ofen: looking for Cookies in HTTP/1.1 401 Unauthorized
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 23
Etag: W/"17-JhHneFlTK9mhCN6EForSDQ"
Set-Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ; Path=/; HttpOnly
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:59:54 GMT
Via: 1.1 vegur
2017.09.13 17:59:54 5: Ofen: Set-Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ; Path=/; HttpOnly
2017.09.13 17:59:54 4: Ofen: Cookie: connect.sid Wert s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ Rest Path=/; HttpOnly
2017.09.13 17:59:54 5: Ofen: ExtractSid called, context reading, num
2017.09.13 17:59:54 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 17:59:54 4: Ofen: CheckAuth decided new authentication required
2017.09.13 17:59:54 4: Ofen: Auth called with Steps: 01
2017.09.13 17:59:54 4: Ofen: AddToQueue adds auth01, initial queue len: 0, prio
2017.09.13 17:59:54 5: Ofen: AddToQueue prepends type auth01 to URL https://www.rika-firenet.com/web/login, data email=ich@wir.at&password=strenggeheim, no headers, retry 0
2017.09.13 17:59:54 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 17:59:54 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input:
2017.09.13 17:59:54 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input: email=ich@wir.at&password=strenggeheim
2017.09.13 17:59:54 5: Ofen: Replace called for type auth01, regex data, mode expression, empty value input: https://www.rika-firenet.com/web/login
2017.09.13 17:59:54 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ
2017.09.13 17:59:54 4: Ofen: HandleSendQueue sends request type auth01 to URL https://www.rika-firenet.com/web/login,
data: email=ich@wir.at&password=strenggeheim,
header: Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ,
timeout 2
2017.09.13 17:59:54 4: HttpUtils url=https://www.rika-firenet.com/web/login
2017.09.13 17:59:54 4: Ofen: AddToQueue adds update, initial queue len: 0
2017.09.13 17:59:54 5: Ofen: AddToQueue adds type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, no data, no headers, retry 1
2017.09.13 17:59:54 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 17:59:54 5: Ofen: HandleSendQueue - still waiting for reply to last request, delay sending from queue
2017.09.13 17:59:54 4: Ofen: CheckAuth requeued request update after auth, retryCount 0 ...
2017.09.13 17:59:54 5: HttpUtils request header:
POST /web/login HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ
Content-Length: 40
Content-Type: application/x-www-form-urlencoded
2017.09.13 17:59:54 4: https://www.rika-firenet.com/web/login: HTTP response code 302
2017.09.13 17:59:54 4: HttpUtils https://www.rika-firenet.com/web/login: Redirect to https://www.rika-firenet.com:443/web/summary
2017.09.13 17:59:54 4: HttpUtils url=https://www.rika-firenet.com:443/web/summary
2017.09.13 17:59:54 5: HttpUtils request header:
POST /web/summary HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ
Content-Length: 40
Content-Type: application/x-www-form-urlencoded
2017.09.13 17:59:54 4: https://www.rika-firenet.com:443/web/summary: HTTP response code 404
2017.09.13 17:59:54 4: HttpUtils https://www.rika-firenet.com:443/web/summary: Got data, length: 3368
2017.09.13 17:59:54 5: HttpUtils response header:
HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3368
Etag: W/"d28-RtjAq+p2WLtlHTFmcxLnsA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:59:54 GMT
Via: 1.1 vegur
2017.09.13 17:59:54 4: Ofen: Read callback: request type was auth01 retry 0,
Header: HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3368
Etag: W/"d28-RtjAq+p2WLtlHTFmcxLnsA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:59:54 GMT
Via: 1.1 vegur,
Body: <!DOCTYPE html><html lang="en" dir="ltr"><head><title>RIKA firenet</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- ********** Dynatrace RUM tags ******--><script type="text/javascript" src="https://js-cdn.dynatrace.com/jstag/15a8a271790/hpl92690/f1dedd4f87d6b03a_bs.js" crossorigin="anonymous"></script><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,200"><link rel="stylesheet" href="/assets/rika-firenet.css"><script src="/assets/rika-firenet-en.js"></script><!-- ****** faviconit.com Favicons ******--><link rel="shortcut icon" href="/images/favicon/favicon.ico"><link rel="icon" sizes="16x16 32x32 64x64" href="/images/favicon/favicon.ico"><link rel="icon" type="image/png" sizes="196x196" href="/images/favicon/favicon-192.png"><link rel="icon" type="image/png" sizes="160x160" href="/images/favicon/favicon-160.png"><link rel="icon" type="image/png" sizes="96x96" href="/images/favicon/favicon-96.png"><link rel="icon" type="image/png" sizes="64x64" href="/images/favicon/favicon-64.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32.png"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16.png"><link rel="apple-touch-icon" href="/images/favicon/favicon-57.png"><link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/favicon-114.png"><link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/favicon-72.png"><link rel="apple-touch-icon" sizes="144x144" href="/images/favicon/favicon-144.png"><link rel="apple-touch-icon" sizes="60x60" href="/images/favicon/favicon-60.png"><link rel="apple-touch-icon" sizes="120x120" href="/images/favicon/favicon-120.png"><link rel="apple-touch-icon" sizes="76x76" href="/images/favicon/favicon-76.png"><link rel="apple-touch-icon" sizes="152x152" href="/images/favicon/favicon-152.png"><link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/favicon-180.png"><meta name="msapplication-TileColor" content="#FFFFFF"><meta name="msapplication-TileImage" content="/images/favicon/favicon-144.png"><meta name="msapplication-config" content="/images/favicon/browserconfig.xml"><!-- ****** faviconit.com Favicons ******--></head><body id="rika-body"><div data-role="page"><div id="rika-header" data-role="header" data-position="fixed" data-tap-toggle="false"><div class="rika-header-wrapper"><div id="deploymentStage"></div><a href="/web/" style="float:left"><img src="/images/RIKA-flame.svg" style="height:2.8em; padding: 0.1em;"></a><div style="height:3em; padding:0px 0px; position: relative" class="ui-title"> <span style="vertical-align: middle; line-height: 3em">RIKA firenet</span></div></div></div><div role="main" class="ui-content"><h1>Not Found</h1><h2></h2><pre></pre></div><div id="about-footer"></div></div><div id="gadiv"><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-71662097-1', 'auto');
ga('send', 'pageview');</script></div></body></html>
2017.09.13 17:59:54 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 81) line 1.
2017.09.13 17:59:54 5: Ofen: looking for Cookies in HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 3368
Etag: W/"d28-RtjAq+p2WLtlHTFmcxLnsA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:59:54 GMT
Via: 1.1 vegur
2017.09.13 17:59:54 5: Ofen: ExtractSid called, context sid, num 01
2017.09.13 17:59:55 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 17:59:55 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 17:59:55 5: Ofen: Replace called for type update, regex data, mode expression, empty value input:
2017.09.13 17:59:55 5: Ofen: Replace called for type update, regex data, mode expression, empty value input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:59:55 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ
2017.09.13 17:59:55 4: Ofen: HandleSendQueue sends request type update to URL https://www.rika-firenet.com/api/client/xxxxxx/status, No Data,
header: Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ,
timeout 2
2017.09.13 17:59:55 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 17:59:55 5: HttpUtils request header:
GET /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
2017.09.13 17:59:55 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 200
2017.09.13 17:59:55 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 1187
2017.09.13 17:59:55 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-CvowNEzObkAau2oI9dfJiA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:59:55 GMT
Via: 1.1 vegur
2017.09.13 17:59:55 4: Ofen: Read callback: request type was update retry 1,
Header: HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-CvowNEzObkAau2oI9dfJiA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:59:55 GMT
Via: 1.1 vegur,
Body: {"name":"Vorzimmer","stoveID":"xxxxxx","lastSeenMinutes":0,"lastConfirmedRevision":1505198797,"controls":{"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4},"sensors":{"statusError":0,"statusWarning":0,"statusService":0,"statusMainState":1,"statusSubState":3,"statusFrostStarted":false,"inputFlameTemperature":22,"inputRoomTemperature":21,"inputExternalRequest":true,"outputDischargeMotor":0,"outputInsertionMotor":0,"outputIDFan":0,"outputAirFlaps":0,"outputIgnition":false,"parameterStoveTypeNumber":13,"parameterVersionMainBoard":223,"parameterVersionTFT":223,"parameterRuntimePellets":28,"parameterRuntimeLogs":0,"parameterFeedRateTotal":42,"parameterFeedRateService":658,"parameterOnOffCycles":2},"stoveType":"DOMO MultiAir","stoveFeatures":{"multiAir1":true,"multiAir2":true,"insertionMotor":false,"airFlaps":false,"logRuntime":false}}
2017.09.13 17:59:55 5: Ofen: JSON Flatter called : prefix , ref is HASH(0x3178138)
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets stoveID to xxxxxx
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets name to Vorzimmer
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets lastSeenMinutes to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets lastConfirmedRevision to 1505198797
2017.09.13 17:59:55 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 17:59:55 5: Ofen: JSON Flatter called : prefix stoveFeatures_, ref is HASH(0x3177d30)
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets stoveFeatures_multiAir2 to true
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets stoveFeatures_multiAir1 to true
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets stoveFeatures_airFlaps to false
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets stoveFeatures_logRuntime to false
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets stoveFeatures_insertionMotor to false
2017.09.13 17:59:55 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 17:59:55 5: Ofen: JSON Flatter called : prefix controls_, ref is HASH(0x3177a00)
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_convectionFan2Area to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_frostProtectionActive to false
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_convectionFan1Area to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_operatingMode to 2
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_setBackTemperature to 18
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_revision to 1505198797
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_heatingTimesActive to false
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_frostProtectionTemperature to 4
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_heatingPower to 65
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_convectionFan1Level to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_convectionFan1Active to false
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_convectionFan2Active to false
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_onOff to true
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_heatingTimesActiveForComfort to true
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_targetTemperature to 24
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets controls_convectionFan2Level to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter doing recursion because value is a HASH
2017.09.13 17:59:55 5: Ofen: JSON Flatter called : prefix sensors_, ref is HASH(0x2d81ec8)
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_parameterFeedRateService to 658
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_outputDischargeMotor to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_parameterOnOffCycles to 2
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_inputRoomTemperature to 21
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_parameterRuntimePellets to 28
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_statusService to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_outputIDFan to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_outputIgnition to false
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_outputInsertionMotor to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_parameterVersionMainBoard to 223
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_inputExternalRequest to true
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_statusSubState to 3
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_outputAirFlaps to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_inputFlameTemperature to 22
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_parameterFeedRateTotal to 42
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_statusWarning to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_statusError to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_parameterVersionTFT to 223
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_statusFrostStarted to false
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_parameterStoveTypeNumber to 13
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_parameterRuntimeLogs to 0
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets sensors_statusMainState to 1
2017.09.13 17:59:55 5: Ofen: JSON Flatter sets stoveType to DOMO MultiAir
2017.09.13 17:59:55 4: Ofen: extracted JSON values to internal
2017.09.13 17:59:55 5: Ofen: looking for Cookies in HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-CvowNEzObkAau2oI9dfJiA"
Vary: Accept-Encoding
Date: Wed, 13 Sep 2017 15:59:55 GMT
Via: 1.1 vegur
2017.09.13 17:59:55 5: Ofen: ExtractSid called, context reading, num
2017.09.13 17:59:55 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 17:59:55 4: Ofen: CheckAuth decided no authentication required
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_statusMainState as reading sensors_statusMainState to value 1
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_heatingTimesActive as reading controls_heatingTimesActive to value false
2017.09.13 17:59:55 5: Ofen: Read set JSON stoveFeatures_multiAir2 as reading stoveFeatures_multiAir2 to value true
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_parameterVersionMainBoard as reading sensors_parameterVersionMainBoard to value 223
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_outputIgnition as reading sensors_outputIgnition to value false
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_convectionFan2Level as reading controls_convectionFan2Level to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON stoveFeatures_logRuntime as reading stoveFeatures_logRuntime to value false
2017.09.13 17:59:55 5: Ofen: Read set JSON stoveFeatures_multiAir1 as reading stoveFeatures_multiAir1 to value true
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_heatingPower as reading controls_heatingPower to value 65
2017.09.13 17:59:55 5: Ofen: Read set JSON lastConfirmedRevision as reading lastConfirmedRevision to value 1505198797
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_statusWarning as reading sensors_statusWarning to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON stoveType as reading stoveType to value DOMO MultiAir
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_statusError as reading sensors_statusError to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_parameterFeedRateService as reading sensors_parameterFeedRateService to value 658
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_convectionFan1Active as reading controls_convectionFan1Active to value false
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_statusSubState as reading sensors_statusSubState to value 3
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_targetTemperature as reading controls_targetTemperature to value 24
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_outputIDFan as reading sensors_outputIDFan to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_frostProtectionTemperature as reading controls_frostProtectionTemperature to value 4
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_frostProtectionActive as reading controls_frostProtectionActive to value false
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_parameterVersionTFT as reading sensors_parameterVersionTFT to value 223
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_statusFrostStarted as reading sensors_statusFrostStarted to value false
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_convectionFan1Level as reading controls_convectionFan1Level to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_convectionFan2Area as reading controls_convectionFan2Area to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_outputDischargeMotor as reading sensors_outputDischargeMotor to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON lastSeenMinutes as reading lastSeenMinutes to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_inputFlameTemperature as reading sensors_inputFlameTemperature to value 22
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_inputRoomTemperature as reading sensors_inputRoomTemperature to value 21
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_parameterStoveTypeNumber as reading sensors_parameterStoveTypeNumber to value 13
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_parameterOnOffCycles as reading sensors_parameterOnOffCycles to value 2
2017.09.13 17:59:55 5: Ofen: Read set JSON stoveID as reading stoveID to value xxxxxx
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_parameterFeedRateTotal as reading sensors_parameterFeedRateTotal to value 42
2017.09.13 17:59:55 5: Ofen: Read set JSON name as reading name to value Vorzimmer
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_onOff as reading controls_onOff to value true
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_heatingTimesActiveForComfort as reading controls_heatingTimesActiveForComfort to value true
2017.09.13 17:59:55 5: Ofen: Read set JSON stoveFeatures_airFlaps as reading stoveFeatures_airFlaps to value false
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_inputExternalRequest as reading sensors_inputExternalRequest to value true
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_operatingMode as reading controls_operatingMode to value 2
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_parameterRuntimePellets as reading sensors_parameterRuntimePellets to value 28
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_outputAirFlaps as reading sensors_outputAirFlaps to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_outputInsertionMotor as reading sensors_outputInsertionMotor to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_setBackTemperature as reading controls_setBackTemperature to value 18
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_revision as reading controls_revision to value 1505198797
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_convectionFan1Area as reading controls_convectionFan1Area to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON stoveFeatures_insertionMotor as reading stoveFeatures_insertionMotor to value false
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_statusService as reading sensors_statusService to value 0
2017.09.13 17:59:55 5: Ofen: Read set JSON controls_convectionFan2Active as reading controls_convectionFan2Active to value false
2017.09.13 17:59:55 5: Ofen: Read set JSON sensors_parameterRuntimeLogs as reading sensors_parameterRuntimeLogs to value 0
2017.09.13 17:59:55 5: Ofen: UpdateReadingList created list of reading.* nums to parse during getUpdate as 01 02 03 10
2017.09.13 17:59:55 5: Ofen: Read starts parsing response to update with defined readings: 01,02,03,10
2017.09.13 17:59:55 5: Ofen: ExtractReading RaumTemp with json sensors_inputRoomTemperature ...
2017.09.13 17:59:55 4: Ofen: ExtractReading for reading01-1 sets RaumTemp to 21
2017.09.13 17:59:55 5: Ofen: ExtractReading Absenkung with json controls_setBackTemperature ...
2017.09.13 17:59:55 4: Ofen: ExtractReading for reading02-1 sets Absenkung to 18
2017.09.13 17:59:55 5: Ofen: ExtractReading Frostschutz with json controls_frostProtectionTemperature ...
2017.09.13 17:59:55 4: Ofen: ExtractReading for reading03-1 sets Frostschutz to 4
2017.09.13 17:59:55 5: Ofen: ExtractReading controlsJSON with regex /(?s)controls.*?({.*?})/...
2017.09.13 17:59:55 5: Ofen: 1 capture group(s), matchlist = {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 17:59:55 4: Ofen: ExtractReading for reading10-1 sets controlsJSON to {"revision":1505198797,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":4}
2017.09.13 17:59:55 4: Ofen: Read response to update matched Reading(s) sensors_statusMainState controls_heatingTimesActive stoveFeatures_multiAir2 sensors_parameterVersionMainBoard sensors_outputIgnition controls_convectionFan2Level stoveFeatures_logRuntime stoveFeatures_multiAir1 controls_heatingPower lastConfirmedRevision sensors_statusWarning stoveType sensors_statusError sensors_parameterFeedRateService controls_convectionFan1Active sensors_statusSubState controls_targetTemperature sensors_outputIDFan controls_frostProtectionTemperature controls_frostProtectionActive sensors_parameterVersionTFT sensors_statusFrostStarted controls_convectionFan1Level controls_convectionFan2Area sensors_outputDischargeMotor lastSeenMinutes sensors_inputFlameTemperature sensors_inputRoomTemperature sensors_parameterStoveTypeNumber sensors_parameterOnOffCycles stoveID sensors_parameterFeedRateTotal name controls_onOff controls_heatingTimesActiveForComfort stoveFeatures_airFlaps sensors_inputExternalRequest controls_operatingMode sensors_parameterRuntimePellets sensors_outputAirFlaps sensors_outputInsertionMotor controls_setBackTemperature controls_revision controls_convectionFan1Area stoveFeatures_insertionMotor sensors_statusService controls_convectionFan2Active sensors_parameterRuntimeLogs RaumTemp Absenkung Frostschutz controlsJSON
2017.09.13 17:59:55 5: Ofen: HandleSendQueue called, qlen = 0
2017.09.13 18:00:06 5: Ofen: set called with FrostschutzTemp 10
2017.09.13 18:00:06 5: Ofen: set found option FrostschutzTemp in attribute set01Name
2017.09.13 18:00:06 5: Ofen: is checking value 10 against min 3
2017.09.13 18:00:06 5: Ofen: set is checking value 10 against max 10
2017.09.13 18:00:06 4: Ofen: set will now set FrostschutzTemp -> 10
2017.09.13 18:00:06 4: Ofen: AddToQueue adds set01, initial queue len: 0
2017.09.13 18:00:06 5: Ofen: AddToQueue adds type set01 to URL https://www.rika-firenet.com/api/client/xxxxxx/status, data {"name": "Vorzimmer", "stoveID": "xxxxxx", "controls": {"frostProtectionTemperature": "$val"}}, no headers, retry 0
2017.09.13 18:00:06 5: Ofen: HandleSendQueue called, qlen = 1
2017.09.13 18:00:06 5: Ofen: Replace called for type set01, regex data, mode expression, empty value input:
2017.09.13 18:00:06 5: Ofen: Replace called for type set01, regex data, mode expression, empty value input: {"name": "Vorzimmer", "stoveID": "xxxxxx", "controls": {"frostProtectionTemperature": "$val"}}
2017.09.13 18:00:06 5: Ofen: Replace called for type set01, regex data, mode expression, empty value input: https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 18:00:06 5: Ofen: HandleSendQueue is adding Cookies: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ
2017.09.13 18:00:06 4: Ofen: HandleSendQueue sends request type set01 to URL https://www.rika-firenet.com/api/client/xxxxxx/status,
data: {"name": "Vorzimmer", "stoveID": "xxxxxx", "controls": {"frostProtectionTemperature": "10"}},
header: Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ,
timeout 2
2017.09.13 18:00:06 4: HttpUtils url=https://www.rika-firenet.com/api/client/xxxxxx/status
2017.09.13 18:00:06 5: HttpUtils request header:
POST /api/client/xxxxxx/status HTTP/1.0
Host: www.rika-firenet.com
User-Agent: fhem
Cookie: connect.sid=s%3ArhZaIuqJTE_-3NHo26o9FdkDGv97IDgY.DwudOcFb4O9FPNp83zO8iAFqs8H3qWBr7sS1UVrvdbQ
Content-Length: 94
Content-Type: application/x-www-form-urlencoded
2017.09.13 18:00:06 4: https://www.rika-firenet.com/api/client/xxxxxx/status: HTTP response code 404
2017.09.13 18:00:06 4: HttpUtils https://www.rika-firenet.com/api/client/xxxxxx/status: Got data, length: 0
2017.09.13 18:00:06 5: HttpUtils response header:
HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Date: Wed, 13 Sep 2017 16:00:06 GMT
Via: 1.1 vegur
2017.09.13 18:00:06 4: Ofen: Read callback: request type was set01 retry 0,
Header: HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Date: Wed, 13 Sep 2017 16:00:06 GMT
Via: 1.1 vegur, body empty
2017.09.13 18:00:06 5: Ofen: looking for Cookies in HTTP/1.1 404 Not Found
Server: Cowboy
Connection: close
X-Powered-By: Express
Date: Wed, 13 Sep 2017 16:00:06 GMT
Via: 1.1 vegur
2017.09.13 18:00:06 5: Ofen: ExtractSid called, context set, num 01
2017.09.13 18:00:06 5: Ofen: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2017.09.13 18:00:06 4: Ofen: CheckAuth decided no authentication required
und zur Sicherheit die 99er
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
package main;
use strict;
use warnings;
use POSIX;
use JSON;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter you functions below _this_ line.
sub replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", 2);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
my $json = ReadingsVal("Ofen", "controlsJSON","");
Log3 ("Ofen", 3, "replaceJSON configsJSON: $json");
my $decoded = decode_json($json);
$decoded->{"$valToReplace"} = $value + 0;
my $result = encode_json($decoded);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
1;
Zitat2017.09.13 17:59:51 3: replaceJSON configsJSON:
Warum auch immer, ist configsJSON leer, wenn Du den "set" machst. Das muss ich lieber selbst testen. Kriege gerne wieder dein Passwort, wenn Du nix dagegen hast.
Servus und guten Morgen
ist geändert. LG
So... pass auf, ich kann jetzt deinen Ofen steuern ;)
myUtils: Ich musste viel ändern, nachdem ich mit Burp gesehen habe, dass die gepostete Data kein JSON ist, sondern einfach eine Konkatenation von allen controls, mit & verknüpft
sub
replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", $value);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
fhem ("get Ofen revision");
my $json = ReadingsVal("Ofen", "controlsJSON","");
Log3 ("Ofen", 3, "replaceJSON configsJSON: $json");
my $decoded = decode_json($json);
my $result;
for my $key ( keys %$decoded ) {
$result .= "$key=";
if ($key eq $valToReplace) {
$result .= $value."&";
} else {
$result .= $decoded->{$key}."&";
}
}
chop($result);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
Die Zeile " fhem ("get Ofen revision");" ist da, um eine Aktualisierung zu zwingen: die API von Rika prüft immer die "revision". Wenn man eine veraltete revision im set Befehl nutzt, kriegt man "Revision nnnnnnn ist outdated", und kein Wert wird geändert. Das passiert insbesondere wenn man zwei Werte nacheinander innerhalb eines Aktualisierungszyclus (Interval im DEF) ändern möchtet.
Das "get Ofen revision" nutzt die Attribute get09Name und get09URL, siehe unten.
Jetzt die Definition:
defmod Ofen HTTPMOD https://www.rika-firenet.com/api/client/xxxxxxxx/status 60
attr Ofen enableCookies 1
attr Ofen get09Name revision
attr Ofen get09URL https://www.rika-firenet.com/api/client/xxxxxxxx/status
attr Ofen group Temperatur
attr Ofen reAuthRegex id="login"|Unauthorized
attr Ofen reading01JSON sensors_inputRoomTemperature
attr Ofen reading01Name RaumTemp
attr Ofen reading02JSON controls_setBackTemperature
attr Ofen reading02Name Absenkung
attr Ofen reading03JSON controls_frostProtectionTemperature
attr Ofen reading03Name Frostschutz
attr Ofen reading10Name controlsJSON
attr Ofen reading10Regex (?s)controls.*?({.*?})
attr Ofen replacement01Mode expression
attr Ofen replacement01Regex {{data}}
attr Ofen room Favoriten,Ofen,Favourites
attr Ofen set11Name frostProtectionTemperature
attr Ofen set11Replacement01Value replaceJSON("frostProtectionTemperature", 2)
attr Ofen set12Name targetTemperature
attr Ofen set12Replacement01Value replaceJSON("targetTemperature", 24)
attr Ofen setData {{data}}
attr Ofen setURL https://www.rika-firenet.com/api/client/xxxxxxxx/controls
attr Ofen sid01Data email=xx@xx&password=xx
attr Ofen sid01URL https://www.rika-firenet.com/web/login
attr Ofen stateFormat T: RaumTemp
attr Ofen verbose 5
Erklärung:
attr Ofen get09Name revision
attr Ofen get09URL https://www.rika-firenet.com/api/client/xxxxxxxx/status
Gerade erklärt
attr Ofen enableCookies 1
attr Ofen reAuthRegex id="login"|Unauthorized
attr Ofen sid01Data email=xx@xx&password=xx
attr Ofen sid01URL https://www.rika-firenet.com/web/login
schon erklärt. Login Verfahren, siehe oben im Thread
attr Ofen reading01JSON sensors_inputRoomTemperature
attr Ofen reading01Name RaumTemp
attr Ofen reading02JSON controls_setBackTemperature
attr Ofen reading02Name Absenkung
attr Ofen reading03JSON controls_frostProtectionTemperature
attr Ofen reading03Name Frostschutz
Einfache Readings durch JSON Parsing
attr Ofen reading10Name controlsJSON
attr Ofen reading10Regex (?s)controls.*?({.*?})
Kriegt alle "controls" in einer JSON String als Reading, das in der Funktion in myUtils genutzt wird.
attr Ofen setURL https://www.rika-firenet.com/api/client/xxxxxxxx/controls
Die URL für alle set Befehle, deswegen keine Nummer in der Mitte (Du hattest übrigens einen Fehler in dem üblichen: verdoppeltes Slash, und "?controls" Zusatz am Ende)
attr Ofen setData {{data}}
Dieser initiale Wert "{{data}}" wird danach durch die "replacement" Attribute ersetzt. Gilt auch für alle set Befehle.
attr Ofen replacement01Mode expression
attr Ofen replacement01Regex {{data}}
Wie gesagt, {{data}} wird ersetzt, und zwar durch eine "expression" (die Modi sind im CommandREF erklärt).
attr Ofen set11Name frostProtectionTemperature
attr Ofen set11Replacement01Value replaceJSON("frostProtectionTemperature", 2)
Durch "set Ofen frostProtectionTemperature 5" wird {{data}} mit dem Ergebnis von der Funktion, sprich die gesamte Kette von controls, wie die letztens gelesen worden sind, ersetzt. Nur "frostProtectionTemperature" wird durch den neuen Wert 5 in der Funktion geändert. Das zweite Parameter "2" gilt als "defaultValue", falls er evtl. die 5 nicht erinnern kann (diese wird im Internal "value" nw. gespeichert, und dann in der Funtion mit "InternalVal("Ofen", "value", defVal)" wieder gelesen.
Ebensoattr Ofen set12Name targetTemperature
attr Ofen set12Replacement01Value replaceJSON("targetTemperature", 24)
ermöglicht das Befehel "set Ofen targetTemperature 28" - default Wert 24.
Letztens hab ich eine bitte: kannst du die riesen lange Posts editieren, und die Auszüge von der Log wieder in code tags setzen (egal, ob die dadurch gekürzt werden, das ist nicht mehr so wichtig)? Das wird besser für die zukünftige lesbarkeit des Threads.
Wau Danke ABER
bei mir will es noch immer nicht
Wenn ich in der def
attr Ofen set11Replacement01Value replaceJSON("frostProtectionTemperature", 2)
setzte
bekomme ich diese Meldung
Attr with invalid Expression (mode is expression) in attr Ofen set11Replacement01Value replaceJSON("frostProtectionTemperature", 2): malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_myUtils.pm line 30.
Hier nochmals die 99er
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
package main;
use strict;
use warnings;
use POSIX;
use JSON;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter you functions below _this_ line.
sub
replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", $value);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
fhem ("get Ofen revision");
my $json = ReadingsVal("Ofen", "controlsJSON","");
Log3 ("Ofen", 3, "replaceJSON configsJSON: $json");
my $decoded = decode_json($json);
my $result;
for my $key ( keys %$decoded ) {
$result .= "$key=";
if ($key eq $valToReplace) {
$result .= $value."&";
} else {
$result .= $decoded->{$key}."&";
}
}
chop($result);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
1;
Kann das mit dieser Erklärung zusammenhängen
Die URL für alle set Befehle, deswegen keine Nummer in der Mitte (Du hattest übrigens einen Fehler in dem üblichen: verdoppeltes Slash, und "?controls" Zusatz am Ende)
Kannst du bitte noch in denen Erklärungen die eine Ofen ID rausnehmen Danke
Wo übersehe ich da jetzt och was in der Erklärung??????
Danke
Helmut
Sorry für die ID, hab ich rausgenommen.
Wiederum die Frage: kommt die Fehlermeldung nur in der Log, oder kommt die wenn Du versuchts, set11Replacement01Value zu setzen, und dieses Attr wird dann nicht gesetzt?
Wenn es nur in der Log ist, habe ich das Problem auch gehabt. Das kommt davon aus, dass andere Anfragen des HTTPMODs versuchen die Funktion zu rufen, wenn (noch) keine JSON String im Reading. Der Ofen lässt sich aber trotzdem steuern. Wichtig ist, wenn Du mit verbose >= 3 die Log3 Zeilen der Funktion mit richtigen Werte siehst, und wenn die kalkulierte "data" String korrekt gesetzt wird. Danach sollte ein HTTP 200 erfolgen.
Wenn es doch nicht funktioniert, dann kennst du das Verfahren ;) "list Ofen" und relevante Log :) Evtl. nimmst Du das extractAllJSON weg, und machst dann ein "deletereading Ofen .*", dann wird die log deutlich kleiner.
OK, ich glaube, ich habe verstanden, was du meintest, und ich kann das Problem reproduzieren. Passiert theoretisch nur bei einem rereadcfg oder ein shutdown/restart von Fhem... was ich bisher nie gemacht hatte..., oder kurz nach dem define, wenn noch keine Werte gelesen worden sind ;)
Dann werden die entspr. Attribute nicht mehr angelegt.
Das ist aber normal, da beim Lesen der Configdatei der Wert von controlsJSON noch nicht gesetzt ist. Wir müssen dann schummeln. Und zwar im myUtils, eine Zeile return if ($json eq ""); hinzufügen:
sub
replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", $value);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
fhem ("get Ofen revision");
my $json = ReadingsVal("Ofen", "controlsJSON","");
Log3 ("Ofen", 3, "replaceJSON configsJSON: $json");
return if ($json eq ""); ### Schummeln beim restart o. rereadcfg da $json noch leer
my $decoded = decode_json($json);
my $result;
for my $key ( keys %$decoded ) {
$result .= "$key=";
if ($key eq $valToReplace) {
$result .= $value."&";
} else {
$result .= $decoded->{$key}."&";
}
}
chop($result);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
Damit wird decode_json nicht aufgerufen, wenn $json beim Start / rereadcfg leer ist.
Sollte aber den gesamten Set-Vorgang nicht beeinflussen, weil dabei $json nw. nicht leer ist.
Servus und sorry dass ich mich gestern nicht gemeldet hatte.
Also, nachdem ich nun die Zeile in die 99er eingefügt habe, kommt die Meldung
nach dem setzen des Attr nicht mehr.
Gebe ich nun set Ofen frostProtectionTemperature 3
ein, ändert sich im Ofen nichts und auch die Readings ändern sich nicht.
Hier die Log
2017.09.16 10:21:29 1: Including fhem.cfg
2017.09.16 10:21:29 3: telnetPort: port 7072 opened
2017.09.16 10:21:30 3: WEB: port 8093 opened
2017.09.16 10:21:30 3: WEBphone: port 8094 opened
2017.09.16 10:21:30 3: WEBtablet: port 8095 opened
2017.09.16 10:21:30 2: eventTypes: loaded 1227 events from ./log/eventTypes.txt
2017.09.16 10:21:30 3: Opening CUL_0 device /dev/ttyACM0
2017.09.16 10:21:30 3: Setting CUL_0 serial parameters to 9600,8,N,1
2017.09.16 10:21:31 3: CUL_0: Possible commands: BCFiANEkGMKUYRTVWXefmLltux
2017.09.16 10:21:31 3: CUL_0 device opened
2017.09.16 10:21:31 3: Opening CUL_1 device /dev/ttyACM1
2017.09.16 10:21:31 3: Setting CUL_1 serial parameters to 9600,8,N,1
2017.09.16 10:21:31 3: CUL_1: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2017.09.16 10:21:31 3: CUL_1 device opened
2017.09.16 10:21:31 3: myHmUART device closed
2017.09.16 10:21:31 3: Opening myHmUART device /dev/ttyAMA0
2017.09.16 10:21:31 3: Setting myHmUART serial parameters to 115200,8,N,1
2017.09.16 10:21:31 3: myHmUART device opened
2017.09.16 10:21:33 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet/:
2017.09.16 10:21:33 3: Registering HTTPSRV TABLETUI for URL /ftui and assigned link ftui/ ...
2017.09.16 10:21:33 3: Ofen: Defined with URL https://www.rika-firenet.com/api/client/54156160/status and interval 60
2017.09.16 10:21:33 3: replaceJSON Internalvalue: 2
2017.09.16 10:21:33 3: Ofen: HandleSendQueue - init not done, delay sending from queue
2017.09.16 10:21:33 3: get Ofen revision : revision requested, watch readings
2017.09.16 10:21:33 3: replaceJSON configsJSON:
2017.09.16 10:21:33 3: replaceJSON Internalvalue: 24
2017.09.16 10:21:33 3: Ofen: HandleSendQueue - init not done, delay sending from queue
2017.09.16 10:21:33 3: get Ofen revision : revision requested, watch readings
2017.09.16 10:21:33 3: replaceJSON configsJSON:
2017.09.16 10:21:34 1: Including ./log/fhem.save
2017.09.16 10:21:34 3: Device Eingangstuere added to ActionDetector with 028:00 time
2017.09.16 10:21:34 3: Device Rueckseite_Haus added to ActionDetector with 000:10 time
2017.09.16 10:21:34 3: Device Terrasse added to ActionDetector with 000:10 time
2017.09.16 10:21:34 3: Device Wasserschacht added to ActionDetector with 000:10 time
2017.09.16 10:21:34 3: Device Wintergarten added to ActionDetector with 000:10 time
2017.09.16 10:21:34 1: usb create starting
2017.09.16 10:21:34 3: Probing CUL device /dev/ttyS0
2017.09.16 10:21:34 1: usb create end
2017.09.16 10:21:34 0: Featurelevel: 5.8
2017.09.16 10:21:34 0: Server started with 109 defined entities (fhem.pl:15042/2017-09-10 perl:5.020002 os:linux user:fhem pid:17464)
2017.09.16 10:21:35 3: CUL_HM set Stehlampe_Stiegen statusRequest
2017.09.16 10:21:35 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Authorisation requir...") at (eval 68) line 1.
2017.09.16 10:21:35 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html><html...") at (eval 71) line 1.
2017.09.16 10:21:36 3: CUL_HM set Wintergartenlicht statusRequest
2017.09.16 10:22:33 3: telnetForBlockingFn_1505550153.40106: port 35607 opened
2017.09.16 10:23:07 3: replaceJSON Internalvalue: 3
2017.09.16 10:23:07 3: get Ofen revision : revision requested, watch readings
2017.09.16 10:23:07 3: replaceJSON configsJSON: {"revision":1505550101,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":8}
2017.09.16 10:23:07 3: replaceJSON Result: heatingTimesActiveForComfort=true&frostProtectionTemperature=3&setBackTemperature=18&targetTemperature=24&convectionFan2Level=0&convectionFan2Active=false&convectionFan1Level=0&onOff=true&convectionFan1Active=false&convectionFan2Area=0&revision=1505550101&heatingTimesActive=false&convectionFan1Area=0&frostProtectionActive=false&operatingMode=2&heatingPower=65
2017.09.16 10:26:35 3: replaceJSON Internalvalue: 3
2017.09.16 10:26:35 3: get Ofen revision : revision requested, watch readings
2017.09.16 10:26:35 3: replaceJSON configsJSON: {"revision":1505550101,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":8}
2017.09.16 10:26:35 3: replaceJSON Result: heatingPower=65&convectionFan1Active=false&convectionFan2Area=0&revision=1505550101&heatingTimesActive=false&convectionFan1Area=0&operatingMode=2&frostProtectionActive=false&convectionFan2Level=0&convectionFan2Active=false&convectionFan1Level=0&onOff=true&heatingTimesActiveForComfort=true&frostProtectionTemperature=3&setBackTemperature=18&targetTemperature=24
Ändere ich im Ofen selbst den Frostschutz auf z.B. 5 Grad, ändert sich das Reading schon - das passt. (siehe Bild)
Und jetzt kommt das merkwürdige an der Sache - ändere ich im Ofen wieder zurück auf 8 Grad, wird es in den attr angezeigt, ändert sich aber nach dem Intervall
wieder zurück auf die 5 Grad.
Dafür sehe ich in der Log bei Verbose 3 nichts.
Das kommt sicher davon - oder? Durch "set Ofen frostProtectionTemperature 5" wird {{data}} mit dem Ergebnis von der Funktion, sprich die gesamte Kette von controls, wie die letztens gelesen worden sind, ersetzt. Nur "frostProtectionTemperature" wird durch den neuen Wert 5 in der Funktion geändert. Das zweite Parameter "2" gilt als "defaultValue", falls er evtl. die 5 nicht erinnern kann (diese wird im Internal "value" nw. gespeichert, und dann in der Funtion mit "InternalVal("Ofen", "value", defVal)" wieder gelesen.
Hier nochmals ein List vom Ofen
Internals:
BUSY 0
DEF https://www.rika-firenet.com/api/client/xxxxxx/status 60
HTTPCookies connect.sid=s%3Az49BrEKspQ3me0yVGbnXebs_DhknE0Se.GpBQdf%2FVFegKUDXT4MPzBgAa2ZOdDiWIPogNxesGpDc
Interval 60
JSONEnabled 1
LASTSEND 1505550996.03562
LastAuthTry 2017-09-16 10:21:35
MainURL https://www.rika-firenet.com/api/client/xxxxxx/status
ModuleVersion 3.4.0 - 9.9.2017
NAME Ofen
NR 239
ReplacementEnabled 1
STATE T: 23
TRIGGERTIME 1505551056.03415
TRIGGERTIME_FMT 2017-09-16 10:37:36
TYPE HTTPMOD
addr https://www.rika-firenet.com:443
buf
code 200
conn
data
displayurl https://www.rika-firenet.com/api/client/xxxxxx/status
header Cookie: connect.sid=s%3Az49BrEKspQ3me0yVGbnXebs_DhknE0Se.GpBQdf%2FVFegKUDXT4MPzBgAa2ZOdDiWIPogNxesGpDc
host www.rika-firenet.com
httpheader HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-LLB0YPoLQSbBsCN7yG9rvQ"
Vary: Accept-Encoding
Date: Sat, 16 Sep 2017 08:36:36 GMT
Via: 1.1 vegur
httpversion 1.0
hu_blocking 0
hu_filecount 25
hu_port 443
hu_portSfx
ignoreredirects 0
loglevel 4
path /api/client/xxxxxx/status
protocol https
redirects 0
timeout 2
url https://www.rika-firenet.com/api/client/xxxxxx/status
value 0
HTTPCookieHash:
connect.sid:
Options Path=/; HttpOnly
Value s%3Az49BrEKspQ3me0yVGbnXebs_DhknE0Se.GpBQdf%2FVFegKUDXT4MPzBgAa2ZOdDiWIPogNxesGpDc
QUEUE:
READINGS:
2017-09-16 10:36:36 Absenkung 18
2017-09-16 10:36:36 Frostschutz 5
2017-09-16 10:36:36 RaumTemp 23
2017-09-16 10:36:36 controlsJSON {"revision":1505550697,"onOff":true,"operatingMode":2,"heatingPower":65,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":5}
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url https://www.rika-firenet.com/api/client/xxxxxx/status
value 0
defptr:
readingBase:
Absenkung reading
Frostschutz reading
RaumTemp reading
controlsJSON reading
readingNum:
Absenkung 02
Frostschutz 03
RaumTemp 01
controlsJSON 10
readingOutdated:
requestReadings:
get09:
Absenkung reading 02
Frostschutz reading 03
RaumTemp reading 01
controlsJSON reading 10
update:
Absenkung reading 02
Frostschutz reading 03
RaumTemp reading 01
controlsJSON reading 10
sslargs:
Attributes:
enableCookies 1
get09Name revision
get09URL https://www.rika-firenet.com/api/client/xxxxxx/status
group Temperatur
reAuthRegex id="login"|Unauthorized
reading01JSON sensors_inputRoomTemperature
reading01Name RaumTemp
reading02JSON controls_setBackTemperature
reading02Name Absenkung
reading03JSON controls_frostProtectionTemperature
reading03Name Frostschutz
reading10Name controlsJSON
reading10Regex (?s)controls.*?({.*?})
replacement01Mode expression
replacement01Regex {{data}}
room Favoriten,Ofen,Favourites
set11Name frostProtectionTemperature
set11Replacement01Value replaceJSON("frostProtectionTemperature", 2)
set12Name targetTemperature
set12Replacement01Value replaceJSON("targetTemperature", 24)
setData {{data}}
setURL https://www.rika-firenet.com/api/client//controls
sid01Data email=xx@xx.at&password=strenggeheim
sid01URL https://www.rika-firenet.com/web/login
stateFormat T: RaumTemp
userattr get09Name get09URL reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading10Name reading10Regex replacement01Mode:reading,internal,text,expression,key replacement01Regex set11Name set11Replacement01Value set12Name set12Replacement01Value setData setURL sid01Data sid01URL
verbose 3
Danke dir
Lg
Helmut
Bin unterwegs, aber du hast noch ein doppel slash in seturl. Wenn es nicht reicht, dann brauche ich verbose 5. Die funktion tut was sie soll
Via Tapatalk
Servus und herzlichen Dank. Das wars ich hatte keine OfenID drinnen (//)
Du bist genial - das was du analysiert hast steht in keiner CommandRef
Ich werde den thread noch umbennen damit man(n) RIKA und Firenet findet.
Ich habe leider keine Berechtigung fürs Wiki - wäre sichere interessant es dort raufzustellen (wenn du einverstanden bist, ist ja dein Werk)
Ich werde auf jeden Fall wenn ich alles definiert habe, noch zum Abschluss hier ein list einstellen.
LG
Helmut
Cool :)
Das mit dem Wiki hatte ich schon vor. Ich wollte aber warten, bis es funktioniert ;) Jetzt hab ich es angepasst
https://wiki.fhem.de/wiki/HTTPMOD#Further_replacements_of_URL.2C_header_or_post_data
Nochmals ein großer Dank an amenomade.
Hier das list vom Ofen (Rika Domo MultiAir - verbunden über iNet mit RIKAFirenet)
Internals:
BUSY 0
DEF https://www.rika-firenet.com/api/client/Deine_Ofen_ID/status 60
HTTPCookies connect.sid=s%3AEXFUy7ISrlLvOtgPQH_sjSzddnoBa8ID.V%2FkNPbtb1O5ULz2e85YsQZTHfJjWg4HyBObY2w%2BwjfE
Interval 60
JSONEnabled 1
LASTSEND 1505831551.70873
LastAuthTry 2017-09-19 16:31:31
MainURL https://www.rika-firenet.com/api/client/Deine_Ofen_ID/status
ModuleVersion 3.4.0 - 9.9.2017
NAME Ofen
NR 239
ReplacementEnabled 1
STATE T: 22
TRIGGERTIME 1505831611.70731
TRIGGERTIME_FMT 2017-09-19 16:33:31
TYPE HTTPMOD
addr https://www.rika-firenet.com:443
buf
code 200
conn
data
displayurl https://www.rika-firenet.com/api/client/Deine_Ofen_ID/status
header Cookie: connect.sid=s%3AEXFUy7ISrlLvOtgPQH_sjSzddnoBa8ID.V%2FkNPbtb1O5ULz2e85YsQZTHfJjWg4HyBObY2w%2BwjfE
host www.rika-firenet.com
httpheader HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1187
Etag: W/"4a3-tB40qilW8N6fhbtIlHLHYg"
Vary: Accept-Encoding
Date: Tue, 19 Sep 2017 14:32:31 GMT
Via: 1.1 vegur
httpversion 1.0
hu_blocking 0
hu_filecount 7
hu_port 443
hu_portSfx
ignoreredirects 0
loglevel 4
path /api/client/Deine_Ofen_ID/status
protocol https
redirects 0
timeout 2
url https://www.rika-firenet.com/api/client/Deine_Ofen_ID/status
value 0
HTTPCookieHash:
connect.sid:
Options Path=/; HttpOnly
Value s%3AEXFUy7ISrlLvOtgPQH_sjSzddnoBa8ID.V%2FkNPbtb1O5ULz2e85YsQZTHfJjWg4HyBObY2w%2BwjfE
QUEUE:
READINGS:
2017-09-19 16:32:32 Absenkung 18
2017-09-19 16:32:32 Frostschutz 5
2017-09-19 16:32:32 RaumTemp 22
2017-09-19 16:32:32 controlsJSON {"revision":1505824038,"onOff":true,"operatingMode":2,"heatingPower":80,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":18,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":5}
2017-09-19 16:32:32 controls_convectionFan1Active false
2017-09-19 16:32:32 controls_convectionFan1Area 0
2017-09-19 16:32:32 controls_convectionFan1Level 0
2017-09-19 16:32:32 controls_convectionFan2Active false
2017-09-19 16:32:32 controls_convectionFan2Area 0
2017-09-19 16:32:32 controls_convectionFan2Level 0
2017-09-19 16:32:32 controls_frostProtectionActive false
2017-09-19 16:32:32 controls_frostProtectionTemperature 5
2017-09-19 16:32:32 controls_heatingPower 80
2017-09-19 16:32:32 controls_heatingTimesActive false
2017-09-19 16:32:32 controls_heatingTimesActiveForComfort true
2017-09-19 16:32:32 controls_onOff true
2017-09-19 16:32:32 controls_operatingMode 2
2017-09-19 16:32:32 controls_revision 1505824038
2017-09-19 16:32:32 controls_setBackTemperature 18
2017-09-19 16:32:32 controls_targetTemperature 24
2017-09-19 16:32:32 lastConfirmedRevision 1505824038
2017-09-19 16:32:32 lastSeenMinutes 1
2017-09-19 16:32:32 name Vorzimmer
2017-09-19 16:32:32 sensors_inputExternalRequest true
2017-09-19 16:32:32 sensors_inputFlameTemperature 42
2017-09-19 16:32:32 sensors_inputRoomTemperature 22
2017-09-19 16:32:32 sensors_outputAirFlaps 0
2017-09-19 16:32:32 sensors_outputDischargeMotor 0
2017-09-19 16:32:32 sensors_outputIDFan 0
2017-09-19 16:32:32 sensors_outputIgnition false
2017-09-19 16:32:32 sensors_outputInsertionMotor 0
2017-09-19 16:32:32 sensors_parameterFeedRateService 633
2017-09-19 16:32:32 sensors_parameterFeedRateTotal 67
2017-09-19 16:32:32 sensors_parameterOnOffCycles 2
2017-09-19 16:32:32 sensors_parameterRuntimeLogs 0
2017-09-19 16:32:32 sensors_parameterRuntimePellets 46
2017-09-19 16:32:32 sensors_parameterStoveTypeNumber 13
2017-09-19 16:32:32 sensors_parameterVersionMainBoard 223
2017-09-19 16:32:32 sensors_parameterVersionTFT 223
2017-09-19 16:32:32 sensors_statusError 0
2017-09-19 16:32:32 sensors_statusFrostStarted false
2017-09-19 16:32:32 sensors_statusMainState 1
2017-09-19 16:32:32 sensors_statusService 0
2017-09-19 16:32:32 sensors_statusSubState 3
2017-09-19 16:32:32 sensors_statusWarning 0
2017-09-19 16:32:32 stoveFeatures_airFlaps false
2017-09-19 16:32:32 stoveFeatures_insertionMotor false
2017-09-19 16:32:32 stoveFeatures_logRuntime false
2017-09-19 16:32:32 stoveFeatures_multiAir1 true
2017-09-19 16:32:32 stoveFeatures_multiAir2 true
2017-09-19 16:32:32 stoveID Deine_Ofen_ID
2017-09-19 16:32:32 stoveType DOMO MultiAir
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url https://www.rika-firenet.com/api/client/Deine_Ofen_ID/status
value 0
defptr:
readingBase:
Absenkung reading
Frostschutz reading
RaumTemp reading
controlsJSON reading
controls_convectionFan1Active reading
controls_convectionFan1Area reading
controls_convectionFan1Level reading
controls_convectionFan2Active reading
controls_convectionFan2Area reading
controls_convectionFan2Level reading
controls_frostProtectionActive reading
controls_frostProtectionTemperature reading
controls_heatingPower reading
controls_heatingTimesActive reading
controls_heatingTimesActiveForComfort reading
controls_onOff reading
controls_operatingMode reading
controls_revision reading
controls_setBackTemperature reading
controls_targetTemperature reading
lastConfirmedRevision reading
lastSeenMinutes reading
name reading
sensors_inputExternalRequest reading
sensors_inputFlameTemperature reading
sensors_inputRoomTemperature reading
sensors_outputAirFlaps reading
sensors_outputDischargeMotor reading
sensors_outputIDFan reading
sensors_outputIgnition reading
sensors_outputInsertionMotor reading
sensors_parameterFeedRateService reading
sensors_parameterFeedRateTotal reading
sensors_parameterOnOffCycles reading
sensors_parameterRuntimeLogs reading
sensors_parameterRuntimePellets reading
sensors_parameterStoveTypeNumber reading
sensors_parameterVersionMainBoard reading
sensors_parameterVersionTFT reading
sensors_statusError reading
sensors_statusFrostStarted reading
sensors_statusMainState reading
sensors_statusService reading
sensors_statusSubState reading
sensors_statusWarning reading
stoveFeatures_airFlaps reading
stoveFeatures_insertionMotor reading
stoveFeatures_logRuntime reading
stoveFeatures_multiAir1 reading
stoveFeatures_multiAir2 reading
stoveID reading
stoveType reading
readingNum:
Absenkung 02
Frostschutz 03
RaumTemp 01
controlsJSON 10
controls_convectionFan1Active
controls_convectionFan1Area
controls_convectionFan1Level
controls_convectionFan2Active
controls_convectionFan2Area
controls_convectionFan2Level
controls_frostProtectionActive
controls_frostProtectionTemperature
controls_heatingPower
controls_heatingTimesActive
controls_heatingTimesActiveForComfort
controls_onOff
controls_operatingMode
controls_revision
controls_setBackTemperature
controls_targetTemperature
lastConfirmedRevision
lastSeenMinutes
name
sensors_inputExternalRequest
sensors_inputFlameTemperature
sensors_inputRoomTemperature
sensors_outputAirFlaps
sensors_outputDischargeMotor
sensors_outputIDFan
sensors_outputIgnition
sensors_outputInsertionMotor
sensors_parameterFeedRateService
sensors_parameterFeedRateTotal
sensors_parameterOnOffCycles
sensors_parameterRuntimeLogs
sensors_parameterRuntimePellets
sensors_parameterStoveTypeNumber
sensors_parameterVersionMainBoard
sensors_parameterVersionTFT
sensors_statusError
sensors_statusFrostStarted
sensors_statusMainState
sensors_statusService
sensors_statusSubState
sensors_statusWarning
stoveFeatures_airFlaps
stoveFeatures_insertionMotor
stoveFeatures_logRuntime
stoveFeatures_multiAir1
stoveFeatures_multiAir2
stoveID
stoveType
readingOutdated:
requestReadings:
get09:
Absenkung reading 02
Frostschutz reading 03
RaumTemp reading 01
controlsJSON reading 10
controls_convectionFan1Active get 09
controls_convectionFan1Area get 09
controls_convectionFan1Level get 09
controls_convectionFan2Active get 09
controls_convectionFan2Area get 09
controls_convectionFan2Level get 09
controls_frostProtectionActive get 09
controls_frostProtectionTemperature get 09
controls_heatingPower get 09
controls_heatingTimesActive get 09
controls_heatingTimesActiveForComfort get 09
controls_onOff get 09
controls_operatingMode get 09
controls_revision get 09
controls_setBackTemperature get 09
controls_targetTemperature get 09
lastConfirmedRevision get 09
lastSeenMinutes get 09
name get 09
sensors_inputExternalRequest get 09
sensors_inputFlameTemperature get 09
sensors_inputRoomTemperature get 09
sensors_outputAirFlaps get 09
sensors_outputDischargeMotor get 09
sensors_outputIDFan get 09
sensors_outputIgnition get 09
sensors_outputInsertionMotor get 09
sensors_parameterFeedRateService get 09
sensors_parameterFeedRateTotal get 09
sensors_parameterOnOffCycles get 09
sensors_parameterRuntimeLogs get 09
sensors_parameterRuntimePellets get 09
sensors_parameterStoveTypeNumber get 09
sensors_parameterVersionMainBoard get 09
sensors_parameterVersionTFT get 09
sensors_statusError get 09
sensors_statusFrostStarted get 09
sensors_statusMainState get 09
sensors_statusService get 09
sensors_statusSubState get 09
sensors_statusWarning get 09
stoveFeatures_airFlaps get 09
stoveFeatures_insertionMotor get 09
stoveFeatures_logRuntime get 09
stoveFeatures_multiAir1 get 09
stoveFeatures_multiAir2 get 09
stoveID get 09
stoveType get 09
update:
Absenkung reading 02
Frostschutz reading 03
RaumTemp reading 01
controlsJSON reading 10
controls_convectionFan1Active reading
controls_convectionFan1Area reading
controls_convectionFan1Level reading
controls_convectionFan2Active reading
controls_convectionFan2Area reading
controls_convectionFan2Level reading
controls_frostProtectionActive reading
controls_frostProtectionTemperature reading
controls_heatingPower reading
controls_heatingTimesActive reading
controls_heatingTimesActiveForComfort reading
controls_onOff reading
controls_operatingMode reading
controls_revision reading
controls_setBackTemperature reading
controls_targetTemperature reading
lastConfirmedRevision reading
lastSeenMinutes reading
name reading
sensors_inputExternalRequest reading
sensors_inputFlameTemperature reading
sensors_inputRoomTemperature reading
sensors_outputAirFlaps reading
sensors_outputDischargeMotor reading
sensors_outputIDFan reading
sensors_outputIgnition reading
sensors_outputInsertionMotor reading
sensors_parameterFeedRateService reading
sensors_parameterFeedRateTotal reading
sensors_parameterOnOffCycles reading
sensors_parameterRuntimeLogs reading
sensors_parameterRuntimePellets reading
sensors_parameterStoveTypeNumber reading
sensors_parameterVersionMainBoard reading
sensors_parameterVersionTFT reading
sensors_statusError reading
sensors_statusFrostStarted reading
sensors_statusMainState reading
sensors_statusService reading
sensors_statusSubState reading
sensors_statusWarning reading
stoveFeatures_airFlaps reading
stoveFeatures_insertionMotor reading
stoveFeatures_logRuntime reading
stoveFeatures_multiAir1 reading
stoveFeatures_multiAir2 reading
stoveID reading
stoveType reading
sslargs:
Attributes:
enableCookies 1
extractAllJSON 1
get09Name revision
get09URL https://www.rika-firenet.com/api/client/Deine_Ofen_ID/status
group Temperatur
reAuthRegex id="login"|Unauthorized
reading01JSON sensors_inputRoomTemperature
reading01Name RaumTemp
reading02JSON controls_setBackTemperature
reading02Name Absenkung
reading03JSON controls_frostProtectionTemperature
reading03Name Frostschutz
reading10Name controlsJSON
reading10Regex (?s)controls.*?({.*?})
replacement01Mode expression
replacement01Regex {{data}}
room Favoriten,Ofen,Favourites
set11Name frostProtectionTemperature
set11Replacement01Value replaceJSON("frostProtectionTemperature", 2)
set12Name targetTemperature
set12Replacement01Value replaceJSON("targetTemperature", 24)
setData {{data}}
setURL https://www.rika-firenet.com/api/client/Deine_Ofen_ID/controls
sid01Data email=xyz@xyz.com&password=strenggeheim
sid01URL https://www.rika-firenet.com/web/login
stateFormat T: RaumTemp
userattr get09Name get09URL reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading10Name reading10Regex replacement01Mode:reading,internal,text,expression,key replacement01Regex set11Name set11Replacement01Value set12Name set12Replacement01Value setData setURL sid01Data sid01URL
verbose 0
und die 99_myUtils.pm
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
package main;
use strict;
use warnings;
use POSIX;
use JSON;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter you functions below _this_ line.
sub
replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", $value);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
fhem ("get Ofen revision");
my $json = ReadingsVal("Ofen", "controlsJSON","");
Log3 ("Ofen", 3, "replaceJSON configsJSON: $json");
return if ($json eq "");
my $decoded = decode_json($json);
my $result;
for my $key ( keys %$decoded ) {
$result .= "$key=";
if ($key eq $valToReplace) {
$result .= $value."&";
} else {
$result .= $decoded->{$key}."&";
}
}
chop($result);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
1;
Schönen Abend
Helmut
Guten Morgen
muss den Beitrag nochmals rausholen:
Mir ist in den letzten tagen aufgefallen dass das set "Ofen controls_operatingMode Manuell" nicht immer funktioniert
Habe im Log diesen Eintrag:
2017.10.14 19:56:06 3: replaceJSON Internalvalue: 2
2017.10.14 19:56:06 3: get Ofen revision : revision requested, watch readings
2017.10.14 19:56:06 3: replaceJSON configsJSON: {"revision":1507997495,"onOff":true,"operatingMode":0,"heatingPower":80,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":16,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":8}
2017.10.14 19:56:06 3: replaceJSON Result: convectionFan2Level=0&setBackTemperature=16&onOff=true&operatingMode=2&heatingTimesActive=false&targetTemperature=24&frostProtectionActive=false&heatingTimesActiveForComfort=true&revision=1507997495&convectionFan2Active=false&convectionFan1Active=false&convectionFan1Area=0&heatingPower=80&frostProtectionTemperature=8&convectionFan2Area=0&convectionFan1Level=0
2017.10.14 19:56:06 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "OK") at (eval 61141) line 1.
2017.10.14 20:06:12 3: replaceJSON Internalvalue: 2
2017.10.14 20:06:12 3: get Ofen revision : revision requested, watch readings
2017.10.14 20:06:12 3: replaceJSON configsJSON: {"revision":1508003780,"onOff":true,"operatingMode":0,"heatingPower":80,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":16,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":8}
2017.10.14 20:06:12 3: replaceJSON Result: convectionFan2Area=0&frostProtectionTemperature=8&heatingPower=80&convectionFan1Area=0&convectionFan1Active=false&convectionFan1Level=0&frostProtectionActive=false&targetTemperature=24&heatingTimesActive=false&convectionFan2Active=false&revision=1508003780&heatingTimesActiveForComfort=true&operatingMode=2&setBackTemperature=16&convectionFan2Level=0&onOff=true
2017.10.14 20:06:12 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "OK") at (eval 61211) line 1.
2017.10.14 20:07:40 3: replaceJSON Internalvalue: 2
2017.10.14 20:07:40 3: get Ofen revision : revision requested, watch readings
2017.10.14 20:07:40 3: replaceJSON configsJSON: {"revision":1508004401,"onOff":true,"operatingMode":0,"heatingPower":80,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":16,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":8}
2017.10.14 20:07:40 3: replaceJSON Result: operatingMode=2&convectionFan2Level=0&setBackTemperature=16&onOff=true&convectionFan1Area=0&heatingPower=80&convectionFan1Active=false&frostProtectionTemperature=8&convectionFan2Area=0&convectionFan1Level=0&heatingTimesActive=false&targetTemperature=24&frostProtectionActive=false&heatingTimesActiveForComfort=true&revision=1508004401&convectionFan2Active=false
2017.10.14 20:07:41 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "OK") at (eval 61238) line 1.
2017.10.14 20:09:39 3: replaceJSON Internalvalue: 2
2017.10.14 20:09:39 3: get Ofen revision : revision requested, watch readings
2017.10.14 20:09:39 3: replaceJSON configsJSON: {"revision":1508004537,"onOff":true,"operatingMode":0,"heatingPower":80,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":16,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":8}
2017.10.14 20:09:39 3: replaceJSON Result: heatingTimesActiveForComfort=true&revision=1508004537&convectionFan2Active=false&heatingTimesActive=false&targetTemperature=24&frostProtectionActive=false&convectionFan1Level=0&heatingPower=80&convectionFan1Area=0&convectionFan1Active=false&frostProtectionTemperature=8&convectionFan2Area=0&onOff=true&convectionFan2Level=0&setBackTemperature=16&operatingMode=2
2017.10.14 20:09:39 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "OK") at (eval 61264) line 1.
Kannst du mir bitte nochmals weiterhelfen - Danke
Gruß
Helmut
Zeig mal bitte den jetzigen Stand deines DOIFs (list). Ist der Befehl wirklich "set controls_operatingMode" ? controls_operatingMode ist ein Reading vom decodeAllJSON oder?
Servus du mein Retter
das ist kein DOIF ich schalte im Moment noch mit dem Set Befehl im Device Overview
2017.10.15 21:10:12 3: replaceJSON configsJSON: {"revision":1508087946,"onOff":true,"operatingMode":0,"heatingPower":80,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":16,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":8}
2017.10.15 21:10:12 3: replaceJSON Result: convectionFan2Level=0&convectionFan2Area=0&heatingTimesActiveForComfort=true&targetTemperature=24&frostProtectionTemperature=8&convectionFan1Active=false&heatingTimesActive=false&convectionFan2Active=false&operatingMode=2&convectionFan1Level=0&heatingPower=80&onOff=true&setBackTemperature=16&convectionFan1Area=0&revision=1508087946&frostProtectionActive=false
2017.10.15 21:10:12 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "OK") at (eval 5256) line 1.
Hier habe ich gestern den Ofen von Komfort wieder auf Manuel zurückgestellt
Das habe ich dann im Log
Danke
Helmut
Sorry... mache zu viele Sachen gleichzeitig! lol
Ich meinte ein list von dem Ofen natürlich.
Kein Problem
hier bitte
Internals:
BUSY 0
DEF https://www.rika-firenet.com/api/client/xxxxxxxx/status 60
HTTPCookies connect.sid=s%3ACimsTjaR2vC1u-hS-7IgAyGVajcjDm4j.EegeIVLAXwyBv12kD9hUtH9Bfdlz6fJU%2BMClbIg1cWs
Interval 60
JSONEnabled 1
LASTSEND 1508172518.18927
LastAuthTry 2017-10-15 13:46:32
MainURL https://www.rika-firenet.com/api/client/xxxxxxxx/status
ModuleVersion 3.4.0 - 9.9.2017
NAME Ofen
NR 238
ReplacementEnabled 1
STATE T: 21 Art: K BT:21
TRIGGERTIME 1508172578.18542
TRIGGERTIME_FMT 2017-10-16 18:49:38
TYPE HTTPMOD
addr https://www.rika-firenet.com:443
buf
code 200
conn
data
displayurl https://www.rika-firenet.com/api/client/xxxxxxxx/status
header Cookie: connect.sid=s%3ACimsTjaR2vC1u-hS-7IgAyGVajcjDm4j.EegeIVLAXwyBv12kD9hUtH9Bfdlz6fJU%2BMClbIg1cWs
host www.rika-firenet.com
httpheader HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1189
Etag: W/"4a5-A9JkHOEn3UybedOXfWMb1w"
Vary: Accept-Encoding
Date: Mon, 16 Oct 2017 16:48:38 GMT
Via: 1.1 vegur
httpversion 1.0
hu_blocking 0
hu_filecount 1751
hu_port 443
hu_portSfx
ignoreredirects 0
loglevel 4
path /api/client/xxxxxxxx/status
protocol https
redirects 0
timeout 2
url https://www.rika-firenet.com/api/client/xxxxxxxx/status
value 0
HTTPCookieHash:
connect.sid:
Options Path=/; HttpOnly
Value s%3ACimsTjaR2vC1u-hS-7IgAyGVajcjDm4j.EegeIVLAXwyBv12kD9hUtH9Bfdlz6fJU%2BMClbIg1cWs
QUEUE:
READINGS:
2017-10-16 18:48:38 Absenkung 16
2017-10-16 18:48:38 Betriebsart K
2017-10-16 18:48:38 BrennTemp 21
2017-10-16 18:48:38 Frostschutz 8
2017-10-16 18:48:38 Pellets 229
2017-10-16 18:48:38 RaumTemp 21
2017-10-16 18:48:38 SollTemp 24
2017-10-16 18:48:38 controlsJSON {"revision":1508094612,"onOff":true,"operatingMode":2,"heatingPower":80,"targetTemperature":24,"heatingTimesActive":false,"heatingTimesActiveForComfort":true,"setBackTemperature":16,"convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":8}
2017-10-16 18:48:38 controls_convectionFan1Active false
2017-10-16 18:48:38 controls_convectionFan1Area 0
2017-10-16 18:48:38 controls_convectionFan1Level 0
2017-10-16 18:48:38 controls_convectionFan2Active false
2017-10-16 18:48:38 controls_convectionFan2Area 0
2017-10-16 18:48:38 controls_convectionFan2Level 0
2017-10-16 18:48:38 controls_frostProtectionActive false
2017-10-16 18:48:38 controls_frostProtectionTemperature 8
2017-10-16 18:48:38 controls_heatingPower 80
2017-10-16 18:48:38 controls_heatingTimesActive false
2017-10-16 18:48:38 controls_heatingTimesActiveForComfort true
2017-10-16 18:48:38 controls_onOff true
2017-10-16 18:48:38 controls_operatingMode 2
2017-10-16 18:48:38 controls_revision 1508094612
2017-10-16 18:48:38 controls_setBackTemperature 16
2017-10-16 18:48:38 controls_targetTemperature 24
2017-10-16 18:48:38 lastConfirmedRevision 1508094612
2017-10-16 18:48:38 lastSeenMinutes 0
2017-10-16 18:48:38 name Vorzimmer
2017-10-16 18:48:38 sensors_inputExternalRequest true
2017-10-16 18:48:38 sensors_inputFlameTemperature 21
2017-10-16 18:48:38 sensors_inputRoomTemperature 21
2017-10-16 18:48:38 sensors_outputAirFlaps 0
2017-10-16 18:48:38 sensors_outputDischargeMotor 0
2017-10-16 18:48:38 sensors_outputIDFan 0
2017-10-16 18:48:38 sensors_outputIgnition false
2017-10-16 18:48:38 sensors_outputInsertionMotor 0
2017-10-16 18:48:38 sensors_parameterFeedRateService 700
2017-10-16 18:48:38 sensors_parameterFeedRateTotal 229
2017-10-16 18:48:38 sensors_parameterOnOffCycles 5
2017-10-16 18:48:38 sensors_parameterRuntimeLogs 0
2017-10-16 18:48:38 sensors_parameterRuntimePellets 156
2017-10-16 18:48:38 sensors_parameterStoveTypeNumber 13
2017-10-16 18:48:38 sensors_parameterVersionMainBoard 223
2017-10-16 18:48:38 sensors_parameterVersionTFT 223
2017-10-16 18:48:38 sensors_statusError 0
2017-10-16 18:48:38 sensors_statusFrostStarted false
2017-10-16 18:48:38 sensors_statusMainState 1
2017-10-16 18:48:38 sensors_statusService 0
2017-10-16 18:48:38 sensors_statusSubState 3
2017-10-16 18:48:38 sensors_statusWarning 0
2017-10-16 18:48:38 stoveFeatures_airFlaps false
2017-10-16 18:48:38 stoveFeatures_insertionMotor false
2017-10-16 18:48:38 stoveFeatures_logRuntime false
2017-10-16 18:48:38 stoveFeatures_multiAir1 true
2017-10-16 18:48:38 stoveFeatures_multiAir2 true
2017-10-16 18:48:38 stoveID xxxxxxxx
2017-10-16 18:48:38 stoveType DOMO MultiAir
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url https://www.rika-firenet.com/api/client/xxxxxxxx/status
value 0
defptr:
readingBase:
Absenkung reading
Betriebsart reading
BrennTemp reading
Frostschutz reading
Pellets reading
RaumTemp reading
SollTemp reading
controlsJSON reading
controls_convectionFan1Active reading
controls_convectionFan1Area reading
controls_convectionFan1Level reading
controls_convectionFan2Active reading
controls_convectionFan2Area reading
controls_convectionFan2Level reading
controls_frostProtectionActive reading
controls_frostProtectionTemperature reading
controls_heatingPower reading
controls_heatingTimesActive reading
controls_heatingTimesActiveForComfort reading
controls_onOff reading
controls_operatingMode reading
controls_revision reading
controls_setBackTemperature reading
controls_targetTemperature reading
lastConfirmedRevision reading
lastSeenMinutes reading
name reading
sensors_inputExternalRequest reading
sensors_inputFlameTemperature reading
sensors_inputRoomTemperature reading
sensors_outputAirFlaps reading
sensors_outputDischargeMotor reading
sensors_outputIDFan reading
sensors_outputIgnition reading
sensors_outputInsertionMotor reading
sensors_parameterFeedRateService reading
sensors_parameterFeedRateTotal reading
sensors_parameterOnOffCycles reading
sensors_parameterRuntimeLogs reading
sensors_parameterRuntimePellets reading
sensors_parameterStoveTypeNumber reading
sensors_parameterVersionMainBoard reading
sensors_parameterVersionTFT reading
sensors_statusError reading
sensors_statusFrostStarted reading
sensors_statusMainState reading
sensors_statusService reading
sensors_statusSubState reading
sensors_statusWarning reading
stoveFeatures_airFlaps reading
stoveFeatures_insertionMotor reading
stoveFeatures_logRuntime reading
stoveFeatures_multiAir1 reading
stoveFeatures_multiAir2 reading
stoveID reading
stoveType reading
readingNum:
Absenkung 02
Betriebsart 05
BrennTemp 06
Frostschutz 03
Pellets 07
RaumTemp 01
SollTemp 04
controlsJSON 10
controls_convectionFan1Active
controls_convectionFan1Area
controls_convectionFan1Level
controls_convectionFan2Active
controls_convectionFan2Area
controls_convectionFan2Level
controls_frostProtectionActive
controls_frostProtectionTemperature
controls_heatingPower
controls_heatingTimesActive
controls_heatingTimesActiveForComfort
controls_onOff
controls_operatingMode
controls_revision
controls_setBackTemperature
controls_targetTemperature
lastConfirmedRevision
lastSeenMinutes
name
sensors_inputExternalRequest
sensors_inputFlameTemperature
sensors_inputRoomTemperature
sensors_outputAirFlaps
sensors_outputDischargeMotor
sensors_outputIDFan
sensors_outputIgnition
sensors_outputInsertionMotor
sensors_parameterFeedRateService
sensors_parameterFeedRateTotal
sensors_parameterOnOffCycles
sensors_parameterRuntimeLogs
sensors_parameterRuntimePellets
sensors_parameterStoveTypeNumber
sensors_parameterVersionMainBoard
sensors_parameterVersionTFT
sensors_statusError
sensors_statusFrostStarted
sensors_statusMainState
sensors_statusService
sensors_statusSubState
sensors_statusWarning
stoveFeatures_airFlaps
stoveFeatures_insertionMotor
stoveFeatures_logRuntime
stoveFeatures_multiAir1
stoveFeatures_multiAir2
stoveID
stoveType
readingOutdated:
requestReadings:
get09:
Absenkung reading 02
Betriebsart reading 05
BrennTemp reading 06
Frostschutz reading 03
Pellets reading 07
RaumTemp reading 01
SollTemp reading 04
controlsJSON reading 10
controls_convectionFan1Active get 09
controls_convectionFan1Area get 09
controls_convectionFan1Level get 09
controls_convectionFan2Active get 09
controls_convectionFan2Area get 09
controls_convectionFan2Level get 09
controls_frostProtectionActive get 09
controls_frostProtectionTemperature get 09
controls_heatingPower get 09
controls_heatingTimesActive get 09
controls_heatingTimesActiveForComfort get 09
controls_onOff get 09
controls_operatingMode get 09
controls_revision get 09
controls_setBackTemperature get 09
controls_targetTemperature get 09
lastConfirmedRevision get 09
lastSeenMinutes get 09
name get 09
sensors_inputExternalRequest get 09
sensors_inputFlameTemperature get 09
sensors_inputRoomTemperature get 09
sensors_outputAirFlaps get 09
sensors_outputDischargeMotor get 09
sensors_outputIDFan get 09
sensors_outputIgnition get 09
sensors_outputInsertionMotor get 09
sensors_parameterFeedRateService get 09
sensors_parameterFeedRateTotal get 09
sensors_parameterOnOffCycles get 09
sensors_parameterRuntimeLogs get 09
sensors_parameterRuntimePellets get 09
sensors_parameterStoveTypeNumber get 09
sensors_parameterVersionMainBoard get 09
sensors_parameterVersionTFT get 09
sensors_statusError get 09
sensors_statusFrostStarted get 09
sensors_statusMainState get 09
sensors_statusService get 09
sensors_statusSubState get 09
sensors_statusWarning get 09
stoveFeatures_airFlaps get 09
stoveFeatures_insertionMotor get 09
stoveFeatures_logRuntime get 09
stoveFeatures_multiAir1 get 09
stoveFeatures_multiAir2 get 09
stoveID get 09
stoveType get 09
update:
Absenkung reading 02
Betriebsart reading 05
BrennTemp reading 06
Frostschutz reading 03
Pellets reading 07
RaumTemp reading 01
SollTemp reading 04
controlsJSON reading 10
controls_convectionFan1Active reading
controls_convectionFan1Area reading
controls_convectionFan1Level reading
controls_convectionFan2Active reading
controls_convectionFan2Area reading
controls_convectionFan2Level reading
controls_frostProtectionActive reading
controls_frostProtectionTemperature reading
controls_heatingPower reading
controls_heatingTimesActive reading
controls_heatingTimesActiveForComfort reading
controls_onOff reading
controls_operatingMode reading
controls_revision reading
controls_setBackTemperature reading
controls_targetTemperature reading
lastConfirmedRevision reading
lastSeenMinutes reading
name reading
sensors_inputExternalRequest reading
sensors_inputFlameTemperature reading
sensors_inputRoomTemperature reading
sensors_outputAirFlaps reading
sensors_outputDischargeMotor reading
sensors_outputIDFan reading
sensors_outputIgnition reading
sensors_outputInsertionMotor reading
sensors_parameterFeedRateService reading
sensors_parameterFeedRateTotal reading
sensors_parameterOnOffCycles reading
sensors_parameterRuntimeLogs reading
sensors_parameterRuntimePellets reading
sensors_parameterStoveTypeNumber reading
sensors_parameterVersionMainBoard reading
sensors_parameterVersionTFT reading
sensors_statusError reading
sensors_statusFrostStarted reading
sensors_statusMainState reading
sensors_statusService reading
sensors_statusSubState reading
sensors_statusWarning reading
stoveFeatures_airFlaps reading
stoveFeatures_insertionMotor reading
stoveFeatures_logRuntime reading
stoveFeatures_multiAir1 reading
stoveFeatures_multiAir2 reading
stoveID reading
stoveType reading
sslargs:
Attributes:
enableCookies 1
extractAllJSON 1
get09Name revision
get09URL https://www.rika-firenet.com/api/client/xxxxxxxx/status
group Temperatur
reAuthRegex id="login"|Unauthorized
reading01JSON sensors_inputRoomTemperature
reading01Name RaumTemp
reading02JSON controls_setBackTemperature
reading02Name Absenkung
reading03JSON controls_frostProtectionTemperature
reading03Name Frostschutz
reading04JSON controls_targetTemperature
reading04Name SollTemp
reading05JSON controls_operatingMode
reading05Name Betriebsart
reading05OMap 0:M, 1:A, 2:K
reading06JSON sensors_inputFlameTemperature
reading06Name BrennTemp
reading07JSON sensors_parameterFeedRateTotal
reading07Name Pellets
reading10Name controlsJSON
reading10Regex (?s)controls.*?({.*?})
replacement01Mode expression
replacement01Regex {{data}}
room Favoriten,Vorzimmer
set11Name frostProtectionTemperature
set11Replacement01Value replaceJSON("frostProtectionTemperature", 2)
set12Name targetTemperature
set12Replacement01Value replaceJSON("targetTemperature", 24)
set13IMap 0:Manuell, 1:Auto, 2:Komfort
set13Name controls_operatingMode
set13Replacement01Value replaceJSON("operatingMode", 2)
setData {{data}}
setURL https://www.rika-firenet.com/api/client/xxxxxxxx/controls
sid01Data email=xxx@yyy.at&password=strenggeheim
sid01URL https://www.rika-firenet.com/web/login
stateFormat T: RaumTemp Art: Betriebsart BT:BrennTemp
userattr get05IMap get05Map get05OMap get09Name get09URL reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading05JSON reading05Name reading05OMap reading06JSON reading06Name reading07JSON reading07Name reading10Name reading10Regex replacement01Mode:reading,internal,text,expression,key replacement01Regex set05Hint set05IMap set05OMap set11Name set11Replacement01Value set12Name set12Replacement01Value set13IMap set13Name set13Replacement01Value setData setURL sid01Data sid01URL
Danke
Also... ich kann keinen Fehler erkennen.
Das
Zitat2017.10.15 21:10:12 3: Ofen: error while parsing JSON data: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "OK") at (eval 5256) line 1.
hatten wir schon. Das ist kein echter Fehler, nur die Antwort nach dem "set", das er nicht als JSON parsen kann. Die Antwort ist aber doch "OK"
Und die Funktion macht doch was sie soll:
Zitat2017.10.14 19:56:06 3: replaceJSON Result: convectionFan2Level=0&setBackTemperature=16&onOff=true&operatingMode=2&heatingTimesActive=false&targetTemperature=24&frostProtectionActive=false&heatingTimesActiveForComfort=true&revision=1507997495&convectionFan2Active=false&convectionFan1Active=false&convectionFan1Area=0&heatingPower=80&frostProtectionTemperature=8&convectionFan2Area=0&convectionFan1Level=0
Es wäre zu prüfen, ob die Werte für operatingMode stimmen (ist "2" richtig?). Wenn Du es manuell setzt, was kommt zurück bei der nächste Abfrage von den Readings?
Servus und guten Abend
es kommt manchmal vor dass er (der Ofen - Firenet) den Befehl von FHEM nicht ausführt. Muss manchmal ein 2x senden.
Aber ja, da ist das I-net im Spiel ich dachte, die Fehlermeldung hat damit etwas zu tun.
Die "2" stimmt. Nochmals Danke für deine Mühe und einen schönen Abend
Helmut
Hallo zusammen,
ist es nicht möglich hiermit
"set Ofen on"
"set Ofen xx%"
abzusetzen?
Servus Henno
Nein da kommt unknown Argument
Man kann nur Set Ofen controls_operatingMode Manuel, Auto oder Komfort
Stellen
Hi Helmi55
Das ist schade.
Da ich den Ofen mit fhem steuern wollte habe ich mir extra kein rika Raumthermostat gekauft sondern firenet
Dann hätte ich wohl vorher mal hier nachlesen sollen.
Eigentlich war mein Plan den so gezielt ein und aus zu schalten und dann auch in Google Home einzubinden
Servus
Das sollte schon über Umwege funktionieren
Ich kann dank der Hilfe von amenomade der sehr viel Zeit investiert hat, den Ofen von Automatik nach Manuell schalten.
Man(n) müsste im manuellen Modus in Kombination mit einem Funkthermometer und einem DOIF
Den Ofen schalten können
Der Automatikmodus mit den Heizzeiten gibt es leider nur im Ofen selbst. Diese Daten werden nicht
Zu RikaFireNet übertragen. Habe schon mit RIKA gesprochen, soll vielleicht noch kommen.
Der Ofen liefert auch die bereits verbrannte Menge an Pellets, habe mit einem Dummy nun auch
Eine Meldung wann der Behälter leer wird. Muss jedesmal beim Nachfüllen das halt im Dummy eintragen
Funktioniert einwandfrei
Gruß Helmut
Evtl. wäre das hier eine Lösung.
http://wp.imperonic.de/?page_id=79
Aber den Preis finde ich etwas überzogen.
Ich werde mal bei Rika nach Infos zur Schnittstelle fragen.
Zitat von: Helmi55 am 04 September 2017, 17:18:00
Hallo
habe einen neuen Pelletofen. Den kann ich auch übers WEB steuern und abfragen.
Im Safari Browser sieht das ganze unter Entwicklereinstellung so aus:
"name": "Vorzimmer",
"stoveID": "xxxxxxxxx",
"lastSeenMinutes": 1,
"lastConfirmedRevision": 1504385700,
"controls": {
"revision": 1504385700,
"onOff": true,
"operatingMode": 2,
"heatingPower": 65,
"targetTemperature": 24,
"heatingTimesActive": false,
"heatingTimesActiveForComfort": true,
"setBackTemperature": 18,
"convectionFan1Active": false,
"convectionFan1Level": 0,
"convectionFan1Area": 0,
"convectionFan2Active": false,
"convectionFan2Level": 0,
"convectionFan2Area": 0,
"frostProtectionActive": false,
"frostProtectionTemperature": 5
},
"sensors": {
"statusError": 0,
"statusWarning": 0,
"statusService": 0,
"statusMainState": 1,
"statusSubState": 3,
"statusFrostStarted": false,
"inputFlameTemperature": 21,
"inputRoomTemperature": 21,
"inputExternalRequest": true,
"outputDischargeMotor": 0,
"outputInsertionMotor": 0,
"outputIDFan": 0,
"outputAirFlaps": 0,
"outputIgnition": false,
"parameterStoveTypeNumber": 13,
"parameterVersionMainBoard": 223,
"parameterVersionTFT": 223,
"parameterRuntimePellets": 11,
"parameterRuntimeLogs": 0,
"parameterFeedRateTotal": 17,
"parameterFeedRateService": 683,
"parameterOnOffCycles": 2
},
"stoveType": "DOMO MultiAir",
"stoveFeatures": {
"multiAir1": true,
"multiAir2": true,
"insertionMotor": false,
"airFlaps": false,
"logRuntime": false
}
}
Hallo Zusammen,
ich versuche etwas ähnliches mit meinem Honeywell Evohome Heizkörper Thermostaten umzusetzen. Diese kann ich ähnlich wie bei deinem Ofen im Internet abrufen. Auch mit Login.
Wie komme ich denn an die Daten ran, die du oben in Safari über die Entwickleroptiinen ausgelesen hast? Ich nutze den Chrome browser unter Win 10
Grüße
Gesendet von iPhone mit Tapatalk
Unter Safari (11.0.2) habe ich unter Einstellungen - Erweitert - den Punkt Menü "Entwickler" in der Menüleiste anzeigen aktiviert
Gruß
Helmut
Zitat von: Helmi55 am 06 Januar 2018, 11:53:02
Unter Safari (11.0.2) habe ich unter Einstellungen - Erweitert - den Punkt Menü "Entwickler" in der Menüleiste anzeigen aktiviert
Gruß
Helmut
Den Entwicklermodus habe ich jetzt gefunden.
Wo müssten die Information ungefähr zu finden sein? Unter Elemente/Console/Sources ? Ich blicke nicht so ganz durch
Gesendet von iPhone mit Tapatalk
Internals
BUSY
0
DEF
https://international.mytotalconnectcomfort.com/Locations/View/2710xxx 60
HTTPCookies
ARRAffinity=8baa90639b969d8df14774e1cd0fcbcad641ade960f94a7cc7176ee0ed99cc80; AnonymousCookie=e7b6a604-45ca-470e-a9b9-c94faecb152c; __RequestVerificationToken=frqcG7LXt6cJ_5QzV4izf3oP4RO6dKBcJ6zEnicIWRRdStcLpSPMDDRPw7E8uc0AeKAqAqA_f6--z69TdKq35d8F84g1
Interval
60
LASTSEND
1515515758.63421
LastAuthTry
2018-01-09 17:35:57
MainURL
https://international.mytotalconnectcomfort.com/Locations/View/2710xxx
ModuleVersion
3.4.0 - 9.9.2017
NAME
honeywell
NR
43
STATE
[emoji47]
TRIGGERTIME
1515515816.90201
TRIGGERTIME_FMT
2018-01-09 17:36:56
TYPE
HTTPMOD
addr
https://international.mytotalconnectcomfort.com:443
auth
0
buf
code
200
compress
1
conn
data
displayurl
https://international.mytotalconnectcomfort.com:443/Account/Login?ReturnUrl=%2fLocations%2fView%2f2710xxx
header
Cookie: ARRAffinity=8baa90639b969d8df14774e1cd0fcbcad641ade960f94a7cc7176ee0ed99cc80; AnonymousCookie=e7b6a604-45ca-470e-a9b9-c94faecb152c; __RequestVerificationToken=frqcG7LXt6cJ_5QzV4izf3oP4RO6dKBcJ6zEnicIWRRdStcLpSPMDDRPw7E8uc0AeKAqAqA_f6--z69TdKq35d8F84g1
host
international.mytotalconnectcomfort.com
httpheader
HTTP/1.1 200 OK Cache-Control: no-cache, no-store,no-cache Pragma: no-cache,no-cache Content-Length: 17085 Content-Type: text/html; charset=utf-8 Expires: -1,-1 x-content-type-options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Date: Tue, 09 Jan 2018 16:35:58 GMT Connection: close
httpversion
1.0
hu_blocking
0
hu_filecount
10
hu_port
443
hu_portSfx
ignoreredirects
0
loglevel
4
path
/Account/Login?ReturnUrl=%2fLocations%2fView%2f2710xxx
protocol
https
redirects
1
timeout
2
url
https://international.mytotalconnectcomfort.com:443/Account/Login?ReturnUrl=%2fLocations%2fView%2f2710xxx
value
0
Readings
test
HTTP/1.1 200 OK
2018-01-09 17:37:59
Habe es jetzt soweit dass ich mich anscheinend korrekt einloggen kann (http code 200). Aber mein reading test (.*) zeigt lediglich eine Zeile. Ich wollte eigentlich die komplette Seite einlesen um heraus zu bekommen wie und wo die Temperatur definiert ist.
Gesendet von iPhone mit Tapatalk
Mit (?s).*
würdest Du die ganze Seite holen.
Allerdings brauchst Du das nicht. Mit deinem HTTMOD auf verbose 5 siest Du alles in der Log.
Zitat von: amenomade am 10 Januar 2018, 13:26:42
Mit (?s).*
würdest Du die ganze Seite holen.
Allerdings brauchst Du das nicht. Mit deinem HTTMOD auf verbose 5 siest Du alles in der Log.
Danke für den Tip. Es scheint so, dass mein login doch nicht funktioniert.
Verbose 5 gibt die folgende Meldung
2018.01.10 18:04:38 5: honeywell: looking for Cookies in HTTP/1.1 200 OK
Cache-Control: no-cache, no-store,no-cache
Pragma: no-cache,no-cache
Content-Length: 17085
Content-Type: text/html; charset=utf-8
Expires: -1,-1
x-content-type-options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Date: Wed, 10 Jan 2018 17:04:38 GMT
Connection: close
2018.01.10 18:04:38 5: honeywell: ExtractSid called, context reading, num
2018.01.10 18:04:38 5: honeywell: CheckAuth is checking buffer with ReAuthRegex id="login"|unauthorized
2018.01.10 18:04:38 4: honeywell: CheckAuth decided new authentication required
2018.01.10 18:04:38 4: honeywell: Authentication still required but no retries left - did last authentication fail?
Ein burp Auszug des Loginverfahren sieht folgendermaßen aus:
Host: international.mytotalconnectcomfort.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: https://international.mytotalconnectcomfort.com/Account/Login?task=logout
Content-Type: application/json;charset=utf-8
antiForgeryToken: Pldidaq1ZeYkOzUb6V9BQaPVGobjtsFfYimNllb__Ovxj8_Abn1Zlv_FTqoQDD9AntTebxbWM-PzMgfJKTRNgUFCnxU1:3NCyKyuI_8Lg_E1sVwmhzq82gFctV0GJlZn5Q-NcHbgvAIzDy50H0Z3VTM-7GbulbEWikbHrJrd1mcnAIzprui2fGOQ1
X-Requested-With: XMLHttpRequest
x-ms-request-root-id: kgz4P
x-ms-request-id: z7OgR
Content-Length: 180
Cookie: AnonymousCookie=3f1f9a16-1644-4eff-9816-5dcd4c5177b1; __RequestVerificationToken=-EpYkM1wX0hQRBfy8SzE3r7CPy6C9RDtVr8uqTb8pOZ53CyPJKgTMK479U-BW_5sxS-U1BgQ2zSMWo2RNZ_CqmGbBUk1; ARRAffinity=5f3d6fad8a3ae8534c345f41f603788be7a1406a5ceebbdfe18b5c1b1c4ee5d9; ai_user=7EoLp|2018-01-10T16:43:27.365Z; ai_session=csgkB|1515602607663|1515603004639.72; __utma=68505929.1183267610.1515602612.1515602612.1515602612.1; __utmb=68505929.4.10.1515602612; __utmc=68505929; __utmz=68505929.1515602612.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1; _ga=GA1.2.1183267610.1515602612; _gid=GA1.2.1999600388.1515602612; _gat=1
Connection: close
{"EmailAddress":"beispiel@test.com","Password":"123456","IsServiceStatusReturned":true,"ApiActive":true,"ApiDown":false,"RedirectUrl":"","events":[],"formErrors":[]}
Mein httpmod sieht im Moment so aus:
reAuthRegex
id="login"|unauthorized
deleteattr
reading01Name
test
deleteattr
reading01Regex
(.*)
deleteattr
reading02Name
temp
deleteattr
reading02Regex
<span>formattedTemperature</span>[^0-9]+([0-9\.]+)
deleteattr
room
Heizung
deleteattr
sid01Data
EmailAddress:beispiel@test.com&Password:123456
deleteattr
sid01URL
https://international.mytotalconnectcomfort.com/Account/Login
deleteattr
Gesendet von iPhone mit Tapatalk
Lese hier gerade auch mit, habe ähnliche Probleme mit meinem Stromzähler von smart-me.com...
Wieso können Geräte die im LAN oder WLAN hängen, nicht einfach auch darüber erreichbar sein sondern muss alles immer über die cloud... >:( >:( >:(
Gruss Stephan
@LaMa163: kannst Du bitte ein "list" von deinem HTTPMOD posten? Das Copy/Paste vom Bildschirm ist unlesbar, und liefer auch nicht so viele Informationen aus. (bitte anonymisieren)
...wenn ich heute Abend zu Hause bin schicke ich nochmal einen sauberen Auszug aus Burp, der den Login-Vorgang zeigt. Diesen konnte ich mit dem Repeater nachbilden und habe die "wichtigen" Einträge ermittelt, die für den Login erforderlich sind.
Einen sauberen httpmod Auszug werde ich auch nochmal posten inkl FHEM Log.
@LaMa163: Eine kleine Analyse mit Burp zeigt folgendes:
Nach Aufruf (GET) von der Zielseite wirst Du zwar auf https://international.mytotalconnectcomfort.com/Account/Login weitergeleitet (http 302)
ABER
die Authentifizierungsdaten werden mit POST auf https://international.mytotalconnectcomfort.com/api/accountApi/login geschickt.
Das Loginverfahren von HTTPMOD musst Du entspr. anpassen.
Die Authentifizierungsdaten im POST sind in der Form:
{"EmailAddress":"mail@mail.com","Password":"myPassword","IsServiceStatusReturned":true,"ApiActive":true,"ApiDown":false,"RedirectUrl":"","events":[],"formErrors":[]}
Allerdings scheint es mit folgendem zu reichen:
{"EmailAddress":"beispiel@test.com","Password":"123456"}
So muss es aber in deiner attr sid01Data eins zu eins stehen, und nicht EmailAddress:beispiel@test.com&Password:123456
Ausserdem muss unbedingt das attr enableCookies 1 auf deinem HTTPMOD gesetzt werden.
@mikka1:
Zitat von: mikka1 am 10 Januar 2018, 19:17:44
Wieso können Geräte die im LAN oder WLAN hängen, nicht einfach auch darüber erreichbar sein sondern muss alles immer über die cloud... >:( >:( >:(
Die Frage musst Du bei smart-me stellen ;)
Wenn Du weitere Hilfe brauchst, bitte ein bisschen mehr Information hier liefern...
Zitat von: amenomade am 12 Januar 2018, 14:40:29
@LaMa163: Eine kleine Analyse mit Burp zeigt folgendes:
Nach Aufruf (GET) von der Zielseite wirst Du zwar auf https://international.mytotalconnectcomfort.com/Account/Login weitergeleitet (http 302)
ABER
die Authentifizierungsdaten werden mit POST auf https://international.mytotalconnectcomfort.com/api/accountApi/login geschickt.
Das Loginverfahren von HTTPMOD musst Du entspr. anpassen.
Die Authentifizierungsdaten im POST sind in der Form:
{"EmailAddress":"mail@mail.com","Password":"myPassword","IsServiceStatusReturned":true,"ApiActive":true,"ApiDown":false,"RedirectUrl":"","events":[],"formErrors":[]}
Allerdings scheint es mit folgendem zu reichen:
{"EmailAddress":"beispiel@test.com","Password":"123456"}
So muss es aber in deiner attr sid01Data eins zu eins stehen, und nicht EmailAddress:beispiel@test.com&Password:123456
Ausserdem muss unbedingt das attr enableCookies 1 auf deinem HTTPMOD gesetzt werden.
Cookies hatte ich definitiv enabled, den login werde ich anpassen und nachher testen.
Läuft die reAuthRegex auch unter der id=,,EmailAddress"? So hatte ich es zumindest im html code der Seite gelesen.
Gesendet von iPhone mit Tapatalk
Nein, reAuthRegex muss in der Lage sein, die Login Seite zu idendifizieren. Mit id="login"
passt es schon, da dieses in der Quellcode der Login Seite tatsächlich steht.
Hi,
ich habe jetzt nochmal rumgespielt. Login geht immer noch nicht.
Mein httpmod sieht im Moment folgendermaßen aus...
BUSY
1
CHANGED
DEF
https://international.mytotalconnectcomfort.com/Locations/View/271xxxx 60
FD
18
HTTPCookies
ARRAffinity=5f3d6fad8a3ae8534c345f41f603788be7a1406a5ceebbdfe18b5c1b1c4ee5d9; AnonymousCookie=4803cf66-bcf9-4aa4-89c1-541fed89119e; __RequestVerificationToken=XyVcx12lR6RaaqYsOI7XQPwXlIa-Q4Fr22h8Ss-taVOHnh_F9jeB789nt5uU2DDosCXYRTAQvEqBYQ9fmuC8w0deAyo1
Interval
60
LASTSEND
1515785959.25966
LastAuthTry
2018-01-12 20:39:18
MainURL
https://international.mytotalconnectcomfort.com/Locations/View/271xxxx
ModuleVersion
3.4.0 - 9.9.2017
NAME
Heizung
NR
54
STATE
[emoji47]
TRIGGERTIME
1515786017.56096
TRIGGERTIME_FMT
2018-01-12 20:40:17
TYPE
HTTPMOD
addr
https://international.mytotalconnectcomfort.com:443
auth
0
buf
code
302
compress
1
data
displayurl
https://international.mytotalconnectcomfort.com:443/Account/Login?ReturnUrl=%2fLocations%2fView%2f271xxxx
header
Cookie: ARRAffinity=5f3d6fad8a3ae8534c345f41f603788be7a1406a5ceebbdfe18b5c1b1c4ee5d9; AnonymousCookie=4803cf66-bcf9-4aa4-89c1-541fed89119e; __RequestVerificationToken=XyVcx12lR6RaaqYsOI7XQPwXlIa-Q4Fr22h8Ss-taVOHnh_F9jeB789nt5uU2DDosCXYRTAQvEqBYQ9fmuC8w0deAyo1
host
international.mytotalconnectcomfort.com
httpheader
HTTP/1.1 302 Found Cache-Control: no-cache, no-store,no-cache Pragma: no-cache,no-cache Content-Length: 171 Content-Type: text/html; charset=utf-8 Expires: -1,-1 Location: /Account/Login?ReturnUrl=%2fLocations%2fView%2f271xxxx x-content-type-options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Date: Fri, 12 Jan 2018 19:39:18 GMT Connection: close
httpversion
1.0
hu_blocking
0
hu_filecount
9
hu_port
443
hu_portSfx
ignoreredirects
0
loglevel
4
path
/Account/Login?ReturnUrl=%2fLocations%2fView%2f271xxxx
protocol
https
redirects
1
timeout
2
url
https://international.mytotalconnectcomfort.com:443/Account/Login?ReturnUrl=%2fLocations%2fView%2f271xxxx
value
0
und
enableCookies
1
deleteattr
reAuthRegex
id="login"|Unauthorized
deleteattr
sid01Data
{"EmailAddress":"beispiel@test.com","Password":"123456"}
deleteattr
sid01URL
https://international.mytotalconnectcomfort.com/Account/Login
deleteattr
userattr
sid01Data sid01URL
deleteattr
das FHEM log file gibt mir die folgende Meldung...
2018.01.12 20:44:19 5: Heizung: looking for Cookies in HTTP/1.1 200 OK
Cache-Control: no-cache, no-store,no-cache
Pragma: no-cache,no-cache
Content-Length: 17085
Content-Type: text/html; charset=utf-8
Expires: -1,-1
x-content-type-options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Date: Fri, 12 Jan 2018 19:44:19 GMT
Connection: close
2018.01.12 20:44:19 5: Heizung: ExtractSid called, context reading, num
2018.01.12 20:44:19 5: Heizung: CheckAuth is checking buffer with ReAuthRegex id="login"|Unauthorized
2018.01.12 20:44:19 4: Heizung: CheckAuth decided new authentication required
2018.01.12 20:44:19 4: Heizung: Authentication still required but no retries left - did last authentication fail?
2018.01.12 20:44:19 5: Heizung: Read starts parsing response to update with defined readings:
2018.01.12 20:44:19 3: Heizung: Read response to update didn't match any Reading
2018.01.12 20:44:19 5: Heizung: HandleSendQueue called, qlen = 0
habe nochmal ein wenig mit burp rumgespielt.
Burp zeigt 2 cookies an, die für den Login benötigt werden.
Den "ARRAffinity...." scheint er zu übertragen.
Es scheint so dass mein httpmod den 2. Cookie
ai_user=7EoLp|2018-01-10T16:43:27.365Z; __utma=68505929.1183267610.1515602612.1515687988.1515693073.5; __utmz=68505929.1515602612.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _ga=GA1.2.1183267610.1515602612; _gid=GA1.2.1999600388.1515602612; __RequestVerificationToken=-EpYkM1wX0hQRBfy8SzE3r7CPy6C9RDtVr8uqTb8pOZ53CyPJKgTMK479U-BW_5sxS-U1BgQ2zSMWo2RNZ_CqmGbBUk1;
nicht überträgt?
Kann es daran liegen? Wie kann ich dies im httpmod einstellen?
Hallo,
ich muss den Beitrag nochmal rausholen, weil ich gerade Versuche meinen Rika Ofen enstprechend der sehr guten Aleitung hier in fhem einzubinden. Leider bekommen ich in der Log immer den 302 reidirect error nach dem Login und dieser verweist dann wieder auf die Login-Seite. Schließlich wird der Login mit too many redirects abgebrochen.
Läuft das ganze noch bei jemandem oder wurde hier seitens Rika etwas geändert bzw. darf ich bei mir weiter nach dem Fehler suchen?
So geht das leider in Dauerschleife:
2018.05.03 15:43:28 4: https://www.rika-firenet.com:443/web/login: HTTP response code 302
2018.05.03 15:43:28 4: HttpUtils https://www.rika-firenet.com:443/web/login: Redirect to https://www.rika-firenet.com:443/web/login
Danke für die Hilfe!
EDIT:
Ach du meine Güte. Ich habe durchs Kopieren die ganze Zeit die login-Daten nicht im URL Format eigetragen... Alles funktioniert wunderbar. Sorry!
Hallo
amenomade ich hol den Artikel wieder rauf - hoffe du liest noch mit?
Ich hab im Log diese Einträge
2019.07.19 14:10:20 3: Ofen: Read callback: Error: read from https://www.rika-firenet.com:443 timed out
2019.07.19 14:15:20 3: Ofen: Read callback: Error: read from https://www.rika-firenet.com:443 timed out
2019.07.19 14:20:20 3: Ofen: Read callback: Error: read from https://www.rika-firenet.com:443 timed out
2019.07.19 14:30:20 3: Ofen: Read callback: Error: read from https://www.rika-firenet.com:443 timed out
2019.07.19 14:40:20 3: Ofen: Read callback: Error: read from https://www.rika-firenet.com:443 timed out
2019.07.19 14:45:20 3: Ofen: Read callback: Error: read from https://www.rika-firenet.com:443 timed out
2019.07.19 14:50:20 3: Ofen: Read callback: Error: read from https://www.rika-firenet.com:443 timed out
2019.07.19 15:00:21 3: Ofen: Read callback: Error: read from https://www.rika-firenet.com:443 timed out
aber nicht ständig. Verbose ist auf 3.
Kann ich da bitte was ändern oder einfach verbose einfach nur auf 0 stellen.
Danke dir
LG
Helmut
Naja... wenn die Webseite nicht schnell genug antwortet, kann man nicht viel tun.
Evtl. attr timeout erhöhen
Ansonsten ja, wenn es nicht stört und trotzdem zuverlässig aktualisiert wird, das verbnose Level auf 2 setzen.
Danke.
Das attr timeout ist gar nicht gesetzt. Wird das auch in Sekunden angegeben? Geht leider aus der Fehlermeldung nicht hervor, nach welcher Zeit das TimeOut auftritt?
Gruß
Helmut
Also mit timeout 120 und verbose 3 ist Ruhe im logfile
Nice eve
Helmut
Zitat von: Henno am 25 Oktober 2017, 12:57:40
Hallo zusammen,
ist es nicht möglich hiermit
"set Ofen on"
"set Ofen xx%"
abzusetzen?
Zitat von: Helmi55 am 25 Oktober 2017, 20:29:41
Servus Henno
Nein da kommt unknown Argument
Man kann nur Set Ofen controls_operatingMode Manuel, Auto oder Komfort
Stellen
Ahoi,
möchte mich hier gern einmal einklinken, da ich nun auch einen Kombiofen von Rika, den Paro, mein Eigen nenne.
Die gute Nachricht ist, man kann doch ein "On" bzw. "Off" an den Ofen senden. Gerade erfolgreich getestet... ;D
Folgende Attribute müssen dafür im device ergänzt werden:
setXXName onOff
setXXReplacement01Value replaceJSON("onOff", "false")
setXXTextArg
**
EDIT sagt: "On" bzw. "Off" senden ist evtl. nicht ganz eindeutig...man muss ein "true" bzw. "false" senden, also z.B.:
set Ofen controls_onOff true
**
Das letzte Attribut ist sehr wichtig, da das device dann erkennt, dass der "Wert" als Text und nicht numerisch übermittelt werden soll.
Ich habe für mich im Replacement01Value "false" als "Fallback" gesetzt, damit der Ofen nicht ungewollt angeht, falls dabei was nicht klappt...
Viel Erfolg!
VG
Andreas
Hallo zusammen,
könnte evtl. jemand der das vernünftig ans laufen bekommen hat seine gesamte config hier posten?
Hallo amenomade und alle anderen,
weiter vorne in diesem Beitrag https://forum.fhem.de/index.php/topic,76220.msg685710.html#msg685710
hast du alles ganz toll beschrieben. Ich habe auch einen RIKA (Paro) , habe aber kein FHEM und möchte Befehle über eine URL absetzen.
Wäre es denn möglich, dass du einen set-Befehl mal als reine URL posten könntest?
So wie ich das verstanden habe, müsste die URL doch folgendermaßen aussehen oder?
https://www.rika-firenet.com/api/client/[meineOfenID]/controls?revision=1605692681&onOff=false&operatingMode=0&heatingPower=75&targetTemperature=22&bakeTemperature=1024&ecoMode=false&heatingTimeMon1=05300930&heatingTimeMon2=00000000&heatingTimeTue1=05300930&heatingTimeTue2=00000000&heatingTimeWed1=05300930&heatingTimeWed2=00000000&heatingTimeThu1=00000000&heatingTimeThu2=00000000&heatingTimeFri1=00000000&heatingTimeFri2=00000000&heatingTimeSat1=00000000&heatingTimeSat2=00000000&heatingTimeSun1=00000000&heatingTimeSun2=00000000&heatingTimesActiveForComfort=false&setBackTemperature=18&convectionFan1Active=false&convectionFan1Level=0&convectionFan1Area=0&convectionFan2Active=false&convectionFan2Level=0&convectionFan2Area=0&frostProtectionActive=false&frostProtectionTemperature=8&temperatureOffset=0&RoomPowerRequest=0&debug0=0&debug1=0&debug2=0&debug3=0&debug4=0
Ich bekomme immer folgende Fehlermeldung: "Für folgende Webadresse wurde keine Webseite gefunden"
Wo könnte der Fehler liegen?
Über eine Antwort würde ich mich sehr freuen,
vg Andi
Hallo Henno
so funktioniert es bei mir:
define Ofen HTTPMOD https://www.rika-firenet.com/api/client/DeineOfenID/status 60
setuuid Ofen 5c45c884-f33f-ee2d-41a0-8cb8d7c99143a44c
attr Ofen userattr get05IMap get05Map get05OMap get09Name get09URL reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading05JSON reading05Name reading05OMap reading06JSON reading06Name reading07JSON reading07Name reading08JSON reading08Name reading08OMap reading10Name reading10Regex replacement01Mode:reading,internal,text,expression,key replacement01Regex set05Hint set05IMap set05OMap set11Name set11Replacement01Value set12Name set12Replacement01Value set13IMap set13Name set13Replacement01Value setData setURL sid01Data sid01URL
attr Ofen alias Ofen
attr Ofen enableCookies 1
attr Ofen extractAllJSON 1
attr Ofen get09Name revision
attr Ofen get09URL https://www.rika-firenet.com/api/client/DeineOfenID/status
attr Ofen group Temperatur
attr Ofen reAuthRegex id="login"|Unauthorized
attr Ofen reading01JSON sensors_inputRoomTemperature
attr Ofen reading01Name RaumTemp
attr Ofen reading02JSON controls_setBackTemperature
attr Ofen reading02Name Absenkung
attr Ofen reading03JSON controls_frostProtectionTemperature
attr Ofen reading03Name Frostschutz
attr Ofen reading04JSON controls_targetTemperature
attr Ofen reading04Name SollTemp
attr Ofen reading05JSON controls_operatingMode
attr Ofen reading05Name Betriebsart
attr Ofen reading05OMap 0:M, 1:A, 2:K
attr Ofen reading06JSON sensors_inputFlameTemperature
attr Ofen reading06Name BrennTemp
attr Ofen reading07JSON sensors_parameterFeedRateTotal
attr Ofen reading07Name Pellets
attr Ofen reading08JSON controls_onOff
attr Ofen reading08Name Ofen
attr Ofen reading08OMap true:On, false:Off
attr Ofen reading10Name controlsJSON
attr Ofen reading10Regex (?s)controls.*?({.*?})
attr Ofen replacement01Mode expression
attr Ofen replacement01Regex {{data}}
attr Ofen room Favoriten,Ofen
attr Ofen set11Name frostProtectionTemperature
attr Ofen set11Replacement01Value replaceJSON("frostProtectionTemperature", 2)
attr Ofen set12Name targetTemperature
attr Ofen set12Replacement01Value replaceJSON("targetTemperature", 24)
attr Ofen set13IMap 0:Manuell, 1:Auto, 2:Komfort
attr Ofen set13Name controls_operatingMode
attr Ofen set13Replacement01Value replaceJSON("operatingMode", 2)
attr Ofen setData {{data}}
attr Ofen setURL https://www.rika-firenet.com/api/client/DeineOfenID/controls
attr Ofen sid01Data email=Deine_e_mail_Adresse&password=geheim
attr Ofen sid01URL https://www.rika-firenet.com/web/login
attr Ofen sortby 2
attr Ofen stateFormat T: RaumTemp ST: SollTemp BT:BrennTemp
attr Ofen timeout 120
attr Ofen verbose 2
attr Ofen widgetOverride targetTemperature:slider,20,23,24,25,26
Hab mir dann noch ein DOIF gebastelt welches mich warnt wenn der Tank leer ist - funkt prima
Das @Vize habe ich noch nicht eingebaut - muss gestehen habs erst jetzt gesehen - Sorry Vize
Hoffe es hilft auch xsawa weiter
Nice Eve Helmut
Zitat von: xsawa am 04 Dezember 2020, 13:20:40
Hallo amenomade und alle anderen,
weiter vorne in diesem Beitrag https://forum.fhem.de/index.php/topic,76220.msg685710.html#msg685710
hast du alles ganz toll beschrieben. Ich habe auch einen RIKA (Paro) , habe aber kein FHEM und möchte Befehle über eine URL absetzen.
Wäre es denn möglich, dass du einen set-Befehl mal als reine URL posten könntest?
So wie ich das verstanden habe, müsste die URL doch folgendermaßen aussehen oder?
https://www.rika-firenet.com/api/client/[meineOfenID]/controls?revision=1605692681&onOff=false&operatingMode=0&heatingPower=75&targetTemperature=22&bakeTemperature=1024&ecoMode=false&heatingTimeMon1=05300930&heatingTimeMon2=00000000&heatingTimeTue1=05300930&heatingTimeTue2=00000000&heatingTimeWed1=05300930&heatingTimeWed2=00000000&heatingTimeThu1=00000000&heatingTimeThu2=00000000&heatingTimeFri1=00000000&heatingTimeFri2=00000000&heatingTimeSat1=00000000&heatingTimeSat2=00000000&heatingTimeSun1=00000000&heatingTimeSun2=00000000&heatingTimesActiveForComfort=false&setBackTemperature=18&convectionFan1Active=false&convectionFan1Level=0&convectionFan1Area=0&convectionFan2Active=false&convectionFan2Level=0&convectionFan2Area=0&frostProtectionActive=false&frostProtectionTemperature=8&temperatureOffset=0&RoomPowerRequest=0&debug0=0&debug1=0&debug2=0&debug3=0&debug4=0
Ich bekomme immer folgende Fehlermeldung: "Für folgende Webadresse wurde keine Webseite gefunden"
Wo könnte der Fehler liegen?
Über eine Antwort würde ich mich sehr freuen,
vg Andi
Nein, die URL ist immer nur https://www.rika-firenet.com/api/client/DeineOfenID/controls und der Rest muss als JSON im POST Data mitgeschickt werden. Das ist hier kein "x-www-form-urlencoded" Data
Ausserdem muss man im Vorfeld schon angemeldet sein.
Zitat von: amenomade am 14 September 2017, 23:07:00
So... pass auf, ich kann jetzt deinen Ofen steuern ;)
myUtils: Ich musste viel ändern, nachdem ich mit Burp gesehen habe, dass die gepostete Data kein JSON ist, sondern einfach eine Konkatenation von allen controls, mit & verknüpft
sub
replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", $value);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
fhem ("get Ofen revision");
my $json = ReadingsVal("Ofen", "controlsJSON","");
Log3 ("Ofen", 3, "replaceJSON configsJSON: $json");
my $decoded = decode_json($json);
my $result;
for my $key ( keys %$decoded ) {
$result .= "$key=";
if ($key eq $valToReplace) {
$result .= $value."&";
} else {
$result .= $decoded->{$key}."&";
}
}
chop($result);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
Hallo amenomade, ich dachte das kann direkt mit der URL übergeben werden, da du ja mal geschrieben hast (s. oben), dass die gepostete Data kein JSON ist, sondern einfach eine Konkatenation von allen controls, mit & verknüpft.
Hab trotzdem vielen Dank, ich glaub, du hast mich gerade auf eine Spur gebracht.
vg, Andi
Stimmt, das ist kein JSON. Trotzdem als POST Data und nicht als url-encoded zu schicken.
EDIT: ich muss aber sagen, ich erinnere mich nicht ganz genau. Die Analyse durch Burp Suite ist schon 3 Jahre her. Es kann sein, dass es auch als url-encoded geht. Aber "revision" muss unbedingt aktuell sein (aktualisiert durch jedes "get status", wenn ich mich richtig erinnere)
Ich glaube, ein paar Headers sind auch unbedingt nötig.
Hallo amenomade, hoffe es geht dir gut?
Ich schaff es leider nicht den Ofen richtig zu steuern.
Ich bekomme zwar alles super angezeigt und kann auch mit meinen DOIFs die Meldung erhalten wann die Ofenreinigung ist und wann Pellets nachzufüllen sind
ABER ich kann nix an den Ofen senden - wie zB: Temperatur oder Modus
Könntest du da mal drüberschauen - Danke
Hier ein List
Internals:
BUSY 0
DEF https://www.rika-firenet.com/api/client/xyz/status 60
FUUID 5c45c884-f33f-ee2d-41a0-8cb8d7c99143a44c
Interval 60
LastAuthTry 2021-08-31 15:12:02
MainURL https://www.rika-firenet.com/api/client/xyz/status
ModuleVersion 4.1.10 - 6.7.2021
NAME Ofen
NOTIFYDEV global
NR 199
NTFY_ORDER 50-Ofen
STATE T: 23.8 ST: 20 BT:118
TYPE HTTPMOD
value
CompiledRegexes:
HTTPCookieHash:
connect.sid;:
Name connect.sid
Options Path=/; HttpOnly
Path
Value s%3AZVg4P9QhmyPp8YKE0cp9hM62qt53xiui.M%2FCX3IpnzkhwwS3eHoYvQY0M1BHUXvNAn910QXhBq%2Bo
HttpUtils:
NAME
addr https://www.rika-firenet.com:443
auth 0
code 200
compress 1
conn
data
displayurl https://www.rika-firenet.com/api/client/xyz/status
header Cookie: connect.sid=s%3AZVg4P9QhmyPp8YKE0cp9hM62qt53xiui.M%2FCX3IpnzkhwwS3eHoYvQY0M1BHUXvNAn910QXhBq%2Bo
host www.rika-firenet.com
httpheader HTTP/1.1 200 OK
Server: Cowboy
Connection: close
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Etag: W/"df8-OA9LIdNJ2jK8cuNUzjQwVy5ewTk"
Vary: Accept-Encoding
Content-Encoding: gzip
Date: Tue, 31 Aug 2021 13:58:58 GMT
Via: 1.1 vegur
httpversion 1.0
hu_blocking 0
hu_filecount 1
hu_port 443
hu_portSfx
ignoreredirects 1
loglevel 4
path /api/client/xyz/status
protocol https
redirects 0
timeout 120
url https://www.rika-firenet.com/api/client/xyz/status
sslargs:
QUEUE:
READINGS:
2021-08-31 15:58:58 Absenkung 12
2021-08-31 15:58:58 Betriebsart K
2021-08-31 15:58:58 BrennTemp 118
2021-08-31 15:58:58 Frostschutz 4
2021-08-31 15:58:58 Ofen 1
2021-08-31 15:58:58 Pellets 10373
2021-08-31 15:58:58 RaumTemp 23.8
2021-08-31 15:58:58 SollTemp 20
2021-08-31 15:58:58 controlsJSON {"revision":1630418337,"onOff":true,"operatingMode":2,"heatingPower":70,"targetTemperature":"20","bakeTemperature":"340","ecoMode":false,"heatingTimeMon1":"07002200","heatingTimeMon2":"00000000","heatingTimeTue1":"06302200","heatingTimeTue2":"00000000","heatingTimeWed1":"06002200","heatingTimeWed2":"00000000","heatingTimeThu1":"06002200","heatingTimeThu2":"00000000","heatingTimeFri1":"07002200","heatingTimeFri2":"00000000","heatingTimeSat1":"06302200","heatingTimeSat2":"00000000","heatingTimeSun1":"06002200","heatingTimeSun2":"00000000","heatingTimesActiveForComfort":true,"setBackTemperature":"12","convectionFan1Active":false,"convectionFan1Level":0,"convectionFan1Area":0,"convectionFan2Active":false,"convectionFan2Level":0,"convectionFan2Area":0,"frostProtectionActive":false,"frostProtectionTemperature":"4","temperatureOffset":"0","RoomPowerRequest":4,"debug0":0,"debug1":0,"debug2":0,"debug3":0,"debug4":0}
2021-08-31 15:58:58 controls_RoomPowerRequest 4
2021-08-31 15:58:58 controls_bakeTemperature 340
2021-08-31 15:58:58 controls_convectionFan1Active 0
2021-08-31 15:58:58 controls_convectionFan1Area 0
2021-08-31 15:58:58 controls_convectionFan1Level 0
2021-08-31 15:58:58 controls_convectionFan2Active 0
2021-08-31 15:58:58 controls_convectionFan2Area 0
2021-08-31 15:58:58 controls_convectionFan2Level 0
2021-08-31 15:58:58 controls_debug0 0
2021-08-31 15:58:58 controls_debug1 0
2021-08-31 15:58:58 controls_debug2 0
2021-08-31 15:58:58 controls_debug3 0
2021-08-31 15:58:58 controls_debug4 0
2021-08-31 15:58:58 controls_ecoMode 0
2021-08-31 15:58:58 controls_frostProtectionActive 0
2021-08-31 15:58:58 controls_frostProtectionTemperature 4
2021-08-31 15:58:58 controls_heatingPower 70
2021-08-31 15:58:58 controls_heatingTimeFri1 07002200
2021-08-31 15:58:58 controls_heatingTimeFri2 00000000
2021-08-31 15:58:58 controls_heatingTimeMon1 07002200
2021-08-31 15:58:58 controls_heatingTimeMon2 00000000
2021-08-31 15:58:58 controls_heatingTimeSat1 06302200
2021-08-31 15:58:58 controls_heatingTimeSat2 00000000
2021-08-31 15:58:58 controls_heatingTimeSun1 06002200
2021-08-31 15:58:58 controls_heatingTimeSun2 00000000
2021-08-31 15:58:58 controls_heatingTimeThu1 06002200
2021-08-31 15:58:58 controls_heatingTimeThu2 00000000
2021-08-31 15:58:58 controls_heatingTimeTue1 06302200
2021-08-31 15:58:58 controls_heatingTimeTue2 00000000
2021-08-31 15:58:58 controls_heatingTimeWed1 06002200
2021-08-31 15:58:58 controls_heatingTimeWed2 00000000
2021-08-31 15:58:58 controls_heatingTimesActiveForComfort 1
2021-08-31 15:58:58 controls_onOff 1
2021-08-31 15:58:58 controls_operatingMode 2
2021-08-31 15:58:58 controls_revision 1630418337
2021-08-31 15:58:58 controls_setBackTemperature 12
2021-08-31 15:58:58 controls_targetTemperature 20
2021-08-31 15:58:58 controls_temperatureOffset 0
2021-08-31 15:58:58 lastConfirmedRevision 1630417550
2021-08-31 15:58:58 lastSeenMinutes 0
2021-08-31 15:58:58 name vorzimmer
2021-08-31 15:58:58 oem RIKA
2021-08-31 15:58:58 sensors_inputBakeTemperature 1024
2021-08-31 15:58:58 sensors_inputBoardTemperature 3.3
2021-08-31 15:58:58 sensors_inputBurnBackFlapSwitch 1
2021-08-31 15:58:58 sensors_inputCover 1
2021-08-31 15:58:58 sensors_inputCurrentStage 56
2021-08-31 15:58:58 sensors_inputCurrentStagePID 56
2021-08-31 15:58:58 sensors_inputDoor 1
2021-08-31 15:58:58 sensors_inputExternalRequest 1
2021-08-31 15:58:58 sensors_inputFlameTemperature 118
2021-08-31 15:58:58 sensors_inputFlueGasFlapSwitch 1
2021-08-31 15:58:58 sensors_inputGridContact 1
2021-08-31 15:58:58 sensors_inputPressureSensor 0
2021-08-31 15:58:58 sensors_inputPressureSwitch 0
2021-08-31 15:58:58 sensors_inputRoomTemperature 23.8
2021-08-31 15:58:58 sensors_inputTargetStagePID 54
2021-08-31 15:58:58 sensors_inputUpperTemperatureLimiter 1
2021-08-31 15:58:58 sensors_outputAirFlaps 0
2021-08-31 15:58:58 sensors_outputAirFlapsTargetPosition 0
2021-08-31 15:58:58 sensors_outputBurnBackFlapMagnet 0
2021-08-31 15:58:58 sensors_outputDischargeCurrent 0
2021-08-31 15:58:58 sensors_outputDischargeMotor 0
2021-08-31 15:58:58 sensors_outputGridMotor 0
2021-08-31 15:58:58 sensors_outputIDFan 0
2021-08-31 15:58:58 sensors_outputIDFanTarget 0
2021-08-31 15:58:58 sensors_outputIgnition 0
2021-08-31 15:58:58 sensors_outputInsertionCurrent 0
2021-08-31 15:58:58 sensors_outputInsertionMotor 0
2021-08-31 15:58:58 sensors_parameterCleanIntervalBig 360
2021-08-31 15:58:58 sensors_parameterDebug0 0
2021-08-31 15:58:58 sensors_parameterDebug1 0
2021-08-31 15:58:58 sensors_parameterDebug2 0
2021-08-31 15:58:58 sensors_parameterDebug3 0
2021-08-31 15:58:58 sensors_parameterDebug4 0
2021-08-31 15:58:58 sensors_parameterEcoModePossible 0
2021-08-31 15:58:58 sensors_parameterErrorCount0 1
2021-08-31 15:58:58 sensors_parameterErrorCount1 0
2021-08-31 15:58:58 sensors_parameterErrorCount10 0
2021-08-31 15:58:58 sensors_parameterErrorCount11 0
2021-08-31 15:58:58 sensors_parameterErrorCount12 0
2021-08-31 15:58:58 sensors_parameterErrorCount13 0
2021-08-31 15:58:58 sensors_parameterErrorCount14 0
2021-08-31 15:58:58 sensors_parameterErrorCount15 0
2021-08-31 15:58:58 sensors_parameterErrorCount16 0
2021-08-31 15:58:58 sensors_parameterErrorCount17 0
2021-08-31 15:58:58 sensors_parameterErrorCount18 0
2021-08-31 15:58:58 sensors_parameterErrorCount19 0
2021-08-31 15:58:58 sensors_parameterErrorCount2 0
2021-08-31 15:58:58 sensors_parameterErrorCount3 0
2021-08-31 15:58:58 sensors_parameterErrorCount4 1
2021-08-31 15:58:58 sensors_parameterErrorCount5 0
2021-08-31 15:58:58 sensors_parameterErrorCount6 0
2021-08-31 15:58:58 sensors_parameterErrorCount7 0
2021-08-31 15:58:58 sensors_parameterErrorCount8 0
2021-08-31 15:58:58 sensors_parameterErrorCount9 0
2021-08-31 15:58:58 sensors_parameterFabricationNumber 1
2021-08-31 15:58:58 sensors_parameterFeedRateService 247
2021-08-31 15:58:58 sensors_parameterFeedRateTotal 10373
2021-08-31 15:58:58 sensors_parameterFlameSensorOffset 38
2021-08-31 15:58:58 sensors_parameterIDFanTuning 0
2021-08-31 15:58:58 sensors_parameterIgnitionCount 2986
2021-08-31 15:58:58 sensors_parameterKgTillCleaning 700
2021-08-31 15:58:58 sensors_parameterLanguageNumber 1
2021-08-31 15:58:58 sensors_parameterOnOffCycleCount 55
2021-08-31 15:58:58 sensors_parameterPressureSensorOffset 0
2021-08-31 15:58:58 sensors_parameterRuntimeLogs 0
2021-08-31 15:58:58 sensors_parameterRuntimePellets 6747
2021-08-31 15:58:58 sensors_parameterServiceCountdownKg 453
2021-08-31 15:58:58 sensors_parameterServiceCountdownTime 0
2021-08-31 15:58:58 sensors_parameterSpiralMotorsTuning 0
2021-08-31 15:58:58 sensors_parameterStoveTypeNumber 13
2021-08-31 15:58:58 sensors_parameterVersionMainBoard 227
2021-08-31 15:58:58 sensors_parameterVersionMainBoardBootLoader 160
2021-08-31 15:58:58 sensors_parameterVersionMainBoardSub 44501
2021-08-31 15:58:58 sensors_parameterVersionTFT 227
2021-08-31 15:58:58 sensors_parameterVersionTFTBootLoader 150
2021-08-31 15:58:58 sensors_parameterVersionTFTSub 42901
2021-08-31 15:58:58 sensors_parameterVersionWiFi 111
2021-08-31 15:58:58 sensors_parameterVersionWiFiBootLoader 101
2021-08-31 15:58:58 sensors_parameterVersionWiFiSub 12501
2021-08-31 15:58:58 sensors_statusError 0
2021-08-31 15:58:58 sensors_statusFrostStarted 0
2021-08-31 15:58:58 sensors_statusHeatingTimesNotProgrammed 0
2021-08-31 15:58:58 sensors_statusMainState 1
2021-08-31 15:58:58 sensors_statusService 0
2021-08-31 15:58:58 sensors_statusSubError 0
2021-08-31 15:58:58 sensors_statusSubState 3
2021-08-31 15:58:58 sensors_statusWarning 0
2021-08-31 15:58:58 sensors_statusWifiStrength -46
2021-08-31 15:58:58 stoveFeatures_airFlaps 0
2021-08-31 15:58:58 stoveFeatures_bakeMode 0
2021-08-31 15:58:58 stoveFeatures_insertionMotor 0
2021-08-31 15:58:58 stoveFeatures_logRuntime 0
2021-08-31 15:58:58 stoveFeatures_multiAir1 1
2021-08-31 15:58:58 stoveFeatures_multiAir2 1
2021-08-31 15:58:58 stoveID xyz
2021-08-31 15:58:58 stoveType DOMO MultiAir
REQUEST:
context reading
data
header
ignoreredirects 0
num unknown
retryCount 0
type update
url https://www.rika-firenet.com/api/client/xyz/status
defptr:
readingBase:
Absenkung reading
Betriebsart reading
BrennTemp reading
Frostschutz reading
Ofen reading
Pellets reading
RaumTemp reading
SollTemp reading
controlsJSON reading
controls_RoomPowerRequest reading
controls_bakeTemperature reading
controls_convectionFan1Active reading
controls_convectionFan1Area reading
controls_convectionFan1Level reading
controls_convectionFan2Active reading
controls_convectionFan2Area reading
controls_convectionFan2Level reading
controls_debug0 reading
controls_debug1 reading
controls_debug2 reading
controls_debug3 reading
controls_debug4 reading
controls_ecoMode reading
controls_frostProtectionActive reading
controls_frostProtectionTemperature reading
controls_heatingPower reading
controls_heatingTimeFri1 reading
controls_heatingTimeFri2 reading
controls_heatingTimeMon1 reading
controls_heatingTimeMon2 reading
controls_heatingTimeSat1 reading
controls_heatingTimeSat2 reading
controls_heatingTimeSun1 reading
controls_heatingTimeSun2 reading
controls_heatingTimeThu1 reading
controls_heatingTimeThu2 reading
controls_heatingTimeTue1 reading
controls_heatingTimeTue2 reading
controls_heatingTimeWed1 reading
controls_heatingTimeWed2 reading
controls_heatingTimesActiveForComfort reading
controls_onOff reading
controls_operatingMode reading
controls_revision reading
controls_setBackTemperature reading
controls_targetTemperature reading
controls_temperatureOffset reading
lastConfirmedRevision reading
lastSeenMinutes reading
name reading
oem reading
sensors_inputBakeTemperature reading
sensors_inputBoardTemperature reading
sensors_inputBurnBackFlapSwitch reading
sensors_inputCover reading
sensors_inputCurrentStage reading
sensors_inputCurrentStagePID reading
sensors_inputDoor reading
sensors_inputExternalRequest reading
sensors_inputFlameTemperature reading
sensors_inputFlueGasFlapSwitch reading
sensors_inputGridContact reading
sensors_inputPressureSensor reading
sensors_inputPressureSwitch reading
sensors_inputRoomTemperature reading
sensors_inputTargetStagePID reading
sensors_inputUpperTemperatureLimiter reading
sensors_outputAirFlaps reading
sensors_outputAirFlapsTargetPosition reading
sensors_outputBurnBackFlapMagnet reading
sensors_outputDischargeCurrent reading
sensors_outputDischargeMotor reading
sensors_outputGridMotor reading
sensors_outputIDFan reading
sensors_outputIDFanTarget reading
sensors_outputIgnition reading
sensors_outputInsertionCurrent reading
sensors_outputInsertionMotor reading
sensors_parameterCleanIntervalBig reading
sensors_parameterDebug0 reading
sensors_parameterDebug1 reading
sensors_parameterDebug2 reading
sensors_parameterDebug3 reading
sensors_parameterDebug4 reading
sensors_parameterEcoModePossible reading
sensors_parameterErrorCount0 reading
sensors_parameterErrorCount1 reading
sensors_parameterErrorCount10 reading
sensors_parameterErrorCount11 reading
sensors_parameterErrorCount12 reading
sensors_parameterErrorCount13 reading
sensors_parameterErrorCount14 reading
sensors_parameterErrorCount15 reading
sensors_parameterErrorCount16 reading
sensors_parameterErrorCount17 reading
sensors_parameterErrorCount18 reading
sensors_parameterErrorCount19 reading
sensors_parameterErrorCount2 reading
sensors_parameterErrorCount3 reading
sensors_parameterErrorCount4 reading
sensors_parameterErrorCount5 reading
sensors_parameterErrorCount6 reading
sensors_parameterErrorCount7 reading
sensors_parameterErrorCount8 reading
sensors_parameterErrorCount9 reading
sensors_parameterFabricationNumber reading
sensors_parameterFeedRateService reading
sensors_parameterFeedRateTotal reading
sensors_parameterFlameSensorOffset reading
sensors_parameterIDFanTuning reading
sensors_parameterIgnitionCount reading
sensors_parameterKgTillCleaning reading
sensors_parameterLanguageNumber reading
sensors_parameterOnOffCycleCount reading
sensors_parameterPressureSensorOffset reading
sensors_parameterRuntimeLogs reading
sensors_parameterRuntimePellets reading
sensors_parameterServiceCountdownKg reading
sensors_parameterServiceCountdownTime reading
sensors_parameterSpiralMotorsTuning reading
sensors_parameterStoveTypeNumber reading
sensors_parameterVersionMainBoard reading
sensors_parameterVersionMainBoardBootLoader reading
sensors_parameterVersionMainBoardSub reading
sensors_parameterVersionTFT reading
sensors_parameterVersionTFTBootLoader reading
sensors_parameterVersionTFTSub reading
sensors_parameterVersionWiFi reading
sensors_parameterVersionWiFiBootLoader reading
sensors_parameterVersionWiFiSub reading
sensors_statusError reading
sensors_statusFrostStarted reading
sensors_statusHeatingTimesNotProgrammed reading
sensors_statusMainState reading
sensors_statusService reading
sensors_statusSubError reading
sensors_statusSubState reading
sensors_statusWarning reading
sensors_statusWifiStrength reading
stoveFeatures_airFlaps reading
stoveFeatures_bakeMode reading
stoveFeatures_insertionMotor reading
stoveFeatures_logRuntime reading
stoveFeatures_multiAir1 reading
stoveFeatures_multiAir2 reading
stoveID reading
stoveType reading
readingNum:
Absenkung 02
Betriebsart 05
BrennTemp 06
Frostschutz 03
Ofen 08
Pellets 07
RaumTemp 01
SollTemp 04
controlsJSON 10
controls_RoomPowerRequest unknown
controls_bakeTemperature unknown
controls_convectionFan1Active unknown
controls_convectionFan1Area unknown
controls_convectionFan1Level unknown
controls_convectionFan2Active unknown
controls_convectionFan2Area unknown
controls_convectionFan2Level unknown
controls_debug0 unknown
controls_debug1 unknown
controls_debug2 unknown
controls_debug3 unknown
controls_debug4 unknown
controls_ecoMode unknown
controls_frostProtectionActive unknown
controls_frostProtectionTemperature unknown
controls_heatingPower unknown
controls_heatingTimeFri1 unknown
controls_heatingTimeFri2 unknown
controls_heatingTimeMon1 unknown
controls_heatingTimeMon2 unknown
controls_heatingTimeSat1 unknown
controls_heatingTimeSat2 unknown
controls_heatingTimeSun1 unknown
controls_heatingTimeSun2 unknown
controls_heatingTimeThu1 unknown
controls_heatingTimeThu2 unknown
controls_heatingTimeTue1 unknown
controls_heatingTimeTue2 unknown
controls_heatingTimeWed1 unknown
controls_heatingTimeWed2 unknown
controls_heatingTimesActiveForComfort unknown
controls_onOff unknown
controls_operatingMode unknown
controls_revision unknown
controls_setBackTemperature unknown
controls_targetTemperature unknown
controls_temperatureOffset unknown
lastConfirmedRevision unknown
lastSeenMinutes unknown
name unknown
oem unknown
sensors_inputBakeTemperature unknown
sensors_inputBoardTemperature unknown
sensors_inputBurnBackFlapSwitch unknown
sensors_inputCover unknown
sensors_inputCurrentStage unknown
sensors_inputCurrentStagePID unknown
sensors_inputDoor unknown
sensors_inputExternalRequest unknown
sensors_inputFlameTemperature unknown
sensors_inputFlueGasFlapSwitch unknown
sensors_inputGridContact unknown
sensors_inputPressureSensor unknown
sensors_inputPressureSwitch unknown
sensors_inputRoomTemperature unknown
sensors_inputTargetStagePID unknown
sensors_inputUpperTemperatureLimiter unknown
sensors_outputAirFlaps unknown
sensors_outputAirFlapsTargetPosition unknown
sensors_outputBurnBackFlapMagnet unknown
sensors_outputDischargeCurrent unknown
sensors_outputDischargeMotor unknown
sensors_outputGridMotor unknown
sensors_outputIDFan unknown
sensors_outputIDFanTarget unknown
sensors_outputIgnition unknown
sensors_outputInsertionCurrent unknown
sensors_outputInsertionMotor unknown
sensors_parameterCleanIntervalBig unknown
sensors_parameterDebug0 unknown
sensors_parameterDebug1 unknown
sensors_parameterDebug2 unknown
sensors_parameterDebug3 unknown
sensors_parameterDebug4 unknown
sensors_parameterEcoModePossible unknown
sensors_parameterErrorCount0 unknown
sensors_parameterErrorCount1 unknown
sensors_parameterErrorCount10 unknown
sensors_parameterErrorCount11 unknown
sensors_parameterErrorCount12 unknown
sensors_parameterErrorCount13 unknown
sensors_parameterErrorCount14 unknown
sensors_parameterErrorCount15 unknown
sensors_parameterErrorCount16 unknown
sensors_parameterErrorCount17 unknown
sensors_parameterErrorCount18 unknown
sensors_parameterErrorCount19 unknown
sensors_parameterErrorCount2 unknown
sensors_parameterErrorCount3 unknown
sensors_parameterErrorCount4 unknown
sensors_parameterErrorCount5 unknown
sensors_parameterErrorCount6 unknown
sensors_parameterErrorCount7 unknown
sensors_parameterErrorCount8 unknown
sensors_parameterErrorCount9 unknown
sensors_parameterFabricationNumber unknown
sensors_parameterFeedRateService unknown
sensors_parameterFeedRateTotal unknown
sensors_parameterFlameSensorOffset unknown
sensors_parameterIDFanTuning unknown
sensors_parameterIgnitionCount unknown
sensors_parameterKgTillCleaning unknown
sensors_parameterLanguageNumber unknown
sensors_parameterOnOffCycleCount unknown
sensors_parameterPressureSensorOffset unknown
sensors_parameterRuntimeLogs unknown
sensors_parameterRuntimePellets unknown
sensors_parameterServiceCountdownKg unknown
sensors_parameterServiceCountdownTime unknown
sensors_parameterSpiralMotorsTuning unknown
sensors_parameterStoveTypeNumber unknown
sensors_parameterVersionMainBoard unknown
sensors_parameterVersionMainBoardBootLoader unknown
sensors_parameterVersionMainBoardSub unknown
sensors_parameterVersionTFT unknown
sensors_parameterVersionTFTBootLoader unknown
sensors_parameterVersionTFTSub unknown
sensors_parameterVersionWiFi unknown
sensors_parameterVersionWiFiBootLoader unknown
sensors_parameterVersionWiFiSub unknown
sensors_statusError unknown
sensors_statusFrostStarted unknown
sensors_statusHeatingTimesNotProgrammed unknown
sensors_statusMainState unknown
sensors_statusService unknown
sensors_statusSubError unknown
sensors_statusSubState unknown
sensors_statusWarning unknown
sensors_statusWifiStrength unknown
stoveFeatures_airFlaps unknown
stoveFeatures_bakeMode unknown
stoveFeatures_insertionMotor unknown
stoveFeatures_logRuntime unknown
stoveFeatures_multiAir1 unknown
stoveFeatures_multiAir2 unknown
stoveID unknown
stoveType unknown
readingOutdated:
requestReadings:
update:
Absenkung reading 02
Betriebsart reading 05
BrennTemp reading 06
Frostschutz reading 03
Ofen reading 08
Pellets reading 07
RaumTemp reading 01
SollTemp reading 04
controlsJSON reading 10
controls_RoomPowerRequest reading unknown
controls_bakeTemperature reading unknown
controls_convectionFan1Active reading unknown
controls_convectionFan1Area reading unknown
controls_convectionFan1Level reading unknown
controls_convectionFan2Active reading unknown
controls_convectionFan2Area reading unknown
controls_convectionFan2Level reading unknown
controls_debug0 reading unknown
controls_debug1 reading unknown
controls_debug2 reading unknown
controls_debug3 reading unknown
controls_debug4 reading unknown
controls_ecoMode reading unknown
controls_frostProtectionActive reading unknown
controls_frostProtectionTemperature reading unknown
controls_heatingPower reading unknown
controls_heatingTimeFri1 reading unknown
controls_heatingTimeFri2 reading unknown
controls_heatingTimeMon1 reading unknown
controls_heatingTimeMon2 reading unknown
controls_heatingTimeSat1 reading unknown
controls_heatingTimeSat2 reading unknown
controls_heatingTimeSun1 reading unknown
controls_heatingTimeSun2 reading unknown
controls_heatingTimeThu1 reading unknown
controls_heatingTimeThu2 reading unknown
controls_heatingTimeTue1 reading unknown
controls_heatingTimeTue2 reading unknown
controls_heatingTimeWed1 reading unknown
controls_heatingTimeWed2 reading unknown
controls_heatingTimesActiveForComfort reading unknown
controls_onOff reading unknown
controls_operatingMode reading unknown
controls_revision reading unknown
controls_setBackTemperature reading unknown
controls_targetTemperature reading unknown
controls_temperatureOffset reading unknown
lastConfirmedRevision reading unknown
lastSeenMinutes reading unknown
name reading unknown
oem reading unknown
sensors_inputBakeTemperature reading unknown
sensors_inputBoardTemperature reading unknown
sensors_inputBurnBackFlapSwitch reading unknown
sensors_inputCover reading unknown
sensors_inputCurrentStage reading unknown
sensors_inputCurrentStagePID reading unknown
sensors_inputDoor reading unknown
sensors_inputExternalRequest reading unknown
sensors_inputFlameTemperature reading unknown
sensors_inputFlueGasFlapSwitch reading unknown
sensors_inputGridContact reading unknown
sensors_inputPressureSensor reading unknown
sensors_inputPressureSwitch reading unknown
sensors_inputRoomTemperature reading unknown
sensors_inputTargetStagePID reading unknown
sensors_inputUpperTemperatureLimiter reading unknown
sensors_outputAirFlaps reading unknown
sensors_outputAirFlapsTargetPosition reading unknown
sensors_outputBurnBackFlapMagnet reading unknown
sensors_outputDischargeCurrent reading unknown
sensors_outputDischargeMotor reading unknown
sensors_outputGridMotor reading unknown
sensors_outputIDFan reading unknown
sensors_outputIDFanTarget reading unknown
sensors_outputIgnition reading unknown
sensors_outputInsertionCurrent reading unknown
sensors_outputInsertionMotor reading unknown
sensors_parameterCleanIntervalBig reading unknown
sensors_parameterDebug0 reading unknown
sensors_parameterDebug1 reading unknown
sensors_parameterDebug2 reading unknown
sensors_parameterDebug3 reading unknown
sensors_parameterDebug4 reading unknown
sensors_parameterEcoModePossible reading unknown
sensors_parameterErrorCount0 reading unknown
sensors_parameterErrorCount1 reading unknown
sensors_parameterErrorCount10 reading unknown
sensors_parameterErrorCount11 reading unknown
sensors_parameterErrorCount12 reading unknown
sensors_parameterErrorCount13 reading unknown
sensors_parameterErrorCount14 reading unknown
sensors_parameterErrorCount15 reading unknown
sensors_parameterErrorCount16 reading unknown
sensors_parameterErrorCount17 reading unknown
sensors_parameterErrorCount18 reading unknown
sensors_parameterErrorCount19 reading unknown
sensors_parameterErrorCount2 reading unknown
sensors_parameterErrorCount3 reading unknown
sensors_parameterErrorCount4 reading unknown
sensors_parameterErrorCount5 reading unknown
sensors_parameterErrorCount6 reading unknown
sensors_parameterErrorCount7 reading unknown
sensors_parameterErrorCount8 reading unknown
sensors_parameterErrorCount9 reading unknown
sensors_parameterFabricationNumber reading unknown
sensors_parameterFeedRateService reading unknown
sensors_parameterFeedRateTotal reading unknown
sensors_parameterFlameSensorOffset reading unknown
sensors_parameterIDFanTuning reading unknown
sensors_parameterIgnitionCount reading unknown
sensors_parameterKgTillCleaning reading unknown
sensors_parameterLanguageNumber reading unknown
sensors_parameterOnOffCycleCount reading unknown
sensors_parameterPressureSensorOffset reading unknown
sensors_parameterRuntimeLogs reading unknown
sensors_parameterRuntimePellets reading unknown
sensors_parameterServiceCountdownKg reading unknown
sensors_parameterServiceCountdownTime reading unknown
sensors_parameterSpiralMotorsTuning reading unknown
sensors_parameterStoveTypeNumber reading unknown
sensors_parameterVersionMainBoard reading unknown
sensors_parameterVersionMainBoardBootLoader reading unknown
sensors_parameterVersionMainBoardSub reading unknown
sensors_parameterVersionTFT reading unknown
sensors_parameterVersionTFTBootLoader reading unknown
sensors_parameterVersionTFTSub reading unknown
sensors_parameterVersionWiFi reading unknown
sensors_parameterVersionWiFiBootLoader reading unknown
sensors_parameterVersionWiFiSub reading unknown
sensors_statusError reading unknown
sensors_statusFrostStarted reading unknown
sensors_statusHeatingTimesNotProgrammed reading unknown
sensors_statusMainState reading unknown
sensors_statusService reading unknown
sensors_statusSubError reading unknown
sensors_statusSubState reading unknown
sensors_statusWarning reading unknown
sensors_statusWifiStrength reading unknown
stoveFeatures_airFlaps reading unknown
stoveFeatures_bakeMode reading unknown
stoveFeatures_insertionMotor reading unknown
stoveFeatures_logRuntime reading unknown
stoveFeatures_multiAir1 reading unknown
stoveFeatures_multiAir2 reading unknown
stoveID reading unknown
stoveType reading unknown
Attributes:
alias Ofen
enableCookies 1
extractAllJSON 1
get09Name revision
get09URL https://www.rika-firenet.com/api/client/xyz/status
group Temperatur
reAuthRegex id="login"|Unauthorized
reading01JSON sensors_inputRoomTemperature
reading01Name RaumTemp
reading02JSON controls_setBackTemperature
reading02Name Absenkung
reading03JSON controls_frostProtectionTemperature
reading03Name Frostschutz
reading04JSON controls_targetTemperature
reading04Name SollTemp
reading05JSON controls_operatingMode
reading05Name Betriebsart
reading05OMap 0:M, 1:A, 2:K
reading06JSON sensors_inputFlameTemperature
reading06Name BrennTemp
reading07JSON sensors_parameterFeedRateTotal
reading07Name Pellets
reading08JSON controls_onOff
reading08Name Ofen
reading08OMap true:On, false:Off
reading10Name controlsJSON
reading10Regex (?s)controls.*?({.*?})
replacement01Mode expression
replacement01Regex {{data}}
room Favoriten,Ofen
set11Name frostProtectionTemperature
set11Replacement01Value replaceJSON("frostProtectionTemperature", 2)
set12Name targetTemperature
set12Replacement01Value replaceJSON("targetTemperature", 24)
set13IMap 0:Manuell, 1:Auto, 2:Komfort
set13Name controls_operatingMode
set13Replacement01Value replaceJSON("operatingMode", 2)
setData {{data}}
setURL https://www.rika-firenet.com/api/client/xyz/controls
sid01Data logindaten!!!!!
sid01URL https://www.rika-firenet.com/web/login
sortby 2
stateFormat T: RaumTemp ST: SollTemp BT:BrennTemp
timeout 120
userattr get05IMap get05Map get05OMap set05Hint set05IMap set05OMap
verbose 2
widgetOverride targetTemperature:slider,20,23,24,25,26
ich dachte mit set Ofen targetTemperature kann ich den Sollwert verändern und mit
controls_operatingMode kann ich zwischen Auto manuell und Komfort umschalten
so wie du in#58 geschrieben hast:
ermöglicht das Befehel "set Ofen targetTemperature 28" - default Wert 24.
Leider funktioniert das nicht
Herzlichen Dank für deine Zeit und Hilfe
Gruß
Helmut
Hallo an alle HTTPMOD Profis,
ich komme da nicht weiter.
Mein Device Ofen bekommt die Werte vom Rika Ofen richtig übertragen = Verbindung zum Ofen steht!
Nur ich kann nichts zurücksenden???
In den controlsJSON ist "targetTemperatur" vorhanden.
Ich habe ein
reading04JSON controls_targetTemperature
ein
reading04Name SollTemp
und ein
set12Name targetTemperature
angelegt.
Es wird aber kein Wert übertragen
wenn ich eingebe: set Ofen targetTemperature 24
sehe ich im eventMonitor = 2021-09-07 12:40:41 HTTPMOD Ofen targetTemperature 24
was mache ich hier falsch?
Danke
Helmut
Hallo
kann mir wirklich keiner weiterhelfen?
was fehlt bitte oder was mach ich falsch?
Gruß
Helmut
Ich hab jetzt auch noch die 99_myUtil gecheckt - die sollte auch passen........
Wenn ich ein set Ofen targetTemperature 24 eingebe, sehe ich im eventMonitor
2021-09-08 16:33:34 HTTPMOD Ofen targetTemperature 24
Das sieht doch korrekt aus ?
Gruß
Helmut
Hallo Helmut,
im Reading controlJSON steht die Wunschtemperatur in Gänsefüßchen.
Vielleicht musst du da noch entsprechend anpassen?
Ist aber nur ein Schuss ins Blaue...
VG
Andreas
servus
Leider nein. Wenn ich den Wert in "25" angebe bekomme ich
set value "25" is not numeric retour.
Gruß
Helmut
Hmm, dann muss das wohl noch weiter angepasst werden. Vielleicht muss man die " " auch escapen oder so...da bin ich aber leider kein Profi.
Vielleicht wissen andere da mehr...
VG
Andreas
Guten Abend,
so, ich mache keine Geheimnis draus, das Problem sitzt vor dem Bildschirm 8)
Ich habe anscheinend beim C&P die Ofen ID des alten Ofen bei
get09Url und setUrl
eingetragen
Nun funktioniert das
set Ofen targetTemperature 18
wieder.
Wünsch einen schönen Abend und gesund bleiben
Gruß
Helmut
PS - Danke an @Vize für seine Definition - die hat mir weitergeholfen
Hallo.
Super Anleitung und funktioniert.
Nur leider kann ich nicht mehr über die Webseite (z.B. vom Handy) auf den Ofen zugreifen.
Der wird dann als offline angezeigt.
Erst als Fhem keinen Zugriff mehr hatte funktionierte auch die Steuerung über die Webseite wieder.
Ist das bei jedem so, oder man das noch einstellen?
@Helmi55
Welcher Wert gibt denn den aktuellen Stand der Pellets raus?
(für das doif)
Mein Ofen ist erst ein paar Tage alt und demnach sind alle Werte recht niedrig.
Danke
Servus Mickie
das mit dem Zugriff verstehe ich nicht. Kann vom Handy und vom iMac parallel drauf zugreifen - ohne Problem.
Der Totalverbrauch der Pellets ist: sensors_parameterFeedRateTotal
Weiss nicht ob du hier vom Forum FHEMapp kennst.
Da wurde mir sehr geholfen und ich konnte diese Anzeige erreichen:
Lässt sich super schalten und du hast alle wichtigen Daten beisammen.
Bei Fragen einfach melden - soweit ich in der Lage bin, helfe ich gerne.
Gruß
Helmut
Hallo, an alle. Kann man irgendwie in die Steuerung im Automatik Modus eingreifen. Mir geht es darum das der Ofen ja im Automatik Modus erstmal auf 100% läuft und dann zu spät runter regelt.
Morgens ist das erstmal kein Thema.
Ich würde das so Steuern wollen das er z.B. die erste halbe Stunde auf 100% läuft danach auf 50% bis eine bestimmte Temperatur erreicht ist.
Eigentlich dürfte er dann fast den ganzen Tag durchlaufen. Wenn ich jetzt auf Automatik stelle geht er im 2 Stundentakt an und aus und verbraucht auch viel mehr Pellets.
Kann man da irgendwie eingreifen?
Danke
Servus
warum verwendest du nicht den "Komfort Modus"?
Hier stellst du die gewünschte Temp ein und fertig.
Gruß
Helmut
Nein das funktioniert nicht im 30m2 Raum mit nur einer Tür wenn man den rest des Hauses auch ein bisschen heizen will.
Im Komfortmodus Heizt er auch mit voller Leistung.
Dann ist der Raum zwar schnell auf Temperatur und der Ofen geht wieder aus. Daurch das die Tür offen ist, ist der Raum in einer Stunde wieder kalt und springt dann erneut an. Dadurch ist der Verschleiß der Zündelektrode sehr hoch und der Pelletverbrauch ist höher
Der Ofen springt dann 5 - 6 mal am Tag wieder an, und zwischendurch ist es dann auch kalt im Wohnzimmer.
Die besten Ergebnisse habe ich im Manuellem Modus gemacht.
Heize den Ofen auf 100% bis ich 20 - 21Grad hab, dann die Leistung auf 50-30% runter regeln. Dann bleibt er fasst den ganzen Tag an und verteilt die wärme langsam im Haus.
Leider geht das dann nicht automatisch.
Hab grad versucht ü er Alexa Routinen was zu basteln. Mal schauen wie gut das geht.
Ist halt nicht das schönste mit Alexa.
Verstehe halt nicht das ich der einzige bin der zu verschiedenen Zeiten unterschiedliche Temperaturen und Leistungstufen einstellen möchte.
Weil dann würde es auch irgendwie gehen.
Bei einer Nomalen Heizung kann ich ja auch absenktemperaturen einstellen.
Sorry da kann ich dann auch nicht weiterhelfen.
ich fahre mit dem Komfortmodus sehr gut. ich heize ein 130m2 Haus mit dem Ofen (er steht im Erdgeschoss und Wohnzimmer und Küche sind sind oben - beim Stiegenaufgang gibt es eine GlasSchiebetüre)
Ich starte um 06:00 und gegen 09:00 schaltet er aus. Danach reduziere ich auf 21 Grad und bei Bedarf wird wieder hochgeregelt.
Gruß
helmut
Vielen Dank für die Antwort. Du sagst du reduzierst auf 21°. Das machst du ja dann manuell, denk ich.
Genau das ist ja das Problem was ich auch schon Rika geschrieben habe. Da wäre ein Update nötig um zu verschiedenen Tageszeiten verschiedene Temperaturen oder Leistungstufen einzustellen.
Ja das kann ich aber auch vom Handy steuern.
an Rika zu schreiben ist vergeudete Zeit. Hab auch schon einen Vorschlag gemacht - nichteinmal eine Antwort.
Gruß
Helmut
Hab versucht das jetzt auch mal einzurichten.
Die Abfrage funktioniert, senden kann ich aber nicht.
Bekomme diese Fehlermeldung wenn ich reading10 Regex editieren will.
Ofen: reading10Regex Regex: Bad regexp >(?s)controls.*?({.*?})< in attr reading10Regex: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^(?s)controls.*?({ <-- HERE .*?})$/ at fhem.pl line 6448, <$fh> line 2488.
Servus
ich schick dir morgen meine aktuelle Version
lg
Helmut
Hallo
hier wie versprochen meine aktuelle RAW Definition:
defmod Ofen HTTPMOD https://www.rika-firenet.com/api/client/Stove ID/status 30
attr Ofen alias Ofen
attr Ofen appOptions { "dashboard": true, "template": "pelletstove", "connected": { "tank": "du_Tank" }}
attr Ofen enableCookies 1
attr Ofen event-on-change-reading .*
attr Ofen extractAllJSON 1
attr Ofen get09Name revision
attr Ofen get09URL https://www.rika-firenet.com/api/client/Stove ID/status
attr Ofen group Temperatur
attr Ofen icon scene_stove
attr Ofen reAuthRegex id="login"|Unauthorized
attr Ofen reading01JSON sensors_inputRoomTemperature
attr Ofen reading01Name RaumTemp
attr Ofen reading02JSON controls_targetTemperature
attr Ofen reading02Name SollTemp
attr Ofen reading03JSON controls_operatingMode
attr Ofen reading03Name Betriebsart
attr Ofen reading03OMap 0:M, 1:A, 2:K
attr Ofen reading04JSON sensors_inputFlameTemperature
attr Ofen reading04Name BrennTemp
attr Ofen reading05JSON sensors_parameterFeedRateTotal
attr Ofen reading05Name Pellets
attr Ofen reading07JSON sensors_statusMainState
attr Ofen reading07Name Zustand
attr Ofen reading07OMap 2:ZuendungEIN, 3:Startphase, 4:Regelbetrieb, 6:Ausbrand, 1:Standby
attr Ofen reading20JSON controls_heatingTimeMon1
attr Ofen reading20Name HZ Mo 1
attr Ofen reading21JSON controls_heatingTimeMon2
attr Ofen reading21Name HZ Mo 2
attr Ofen reading22JSON controls_heatingTimeTue1
attr Ofen reading22Name HZ Di 1
attr Ofen reading23JSON controls_heatingTimeTue2
attr Ofen reading23Name HZ Di 2
attr Ofen reading24JSON controls_heatingTimeWed1
attr Ofen reading24Name HZ Mi 1
attr Ofen reading25JSON controls_heatingTimeWed2
attr Ofen reading25Name HZ Mi 2
attr Ofen reading26JSON controls_heatingTimeThu1
attr Ofen reading26Name HZ Do1
attr Ofen reading27JSON controls_heatingTimeThu2
attr Ofen reading27Name HZ Do2
attr Ofen reading28JSON controls_heatingTimeFri1
attr Ofen reading28Name HZ Fr1
attr Ofen reading29JSON controls_heatingTimeFri2
attr Ofen reading29Name HZ Fr2
attr Ofen reading30JSON controls_heatingTimeSat1
attr Ofen reading30Name HZ Sa1
attr Ofen reading31JSON controls_heatingTimeSat2
attr Ofen reading31Name HZ Sa2
attr Ofen reading32JSON controls_heatingTimeSun1
attr Ofen reading32Name HZ So1
attr Ofen reading33JSON controls_heatingTimeSun2
attr Ofen reading33Name HZ So2
attr Ofen reading99Name controlsJSON
attr Ofen reading99Regex (?s)controls.*?(\{.*?})
attr Ofen replacement01Mode expression
attr Ofen replacement01Regex \{\{data\}\}
attr Ofen room Favoriten,Ofen
attr Ofen set03IMap 0:Manuell, 1:Auto, 2:Komfort
attr Ofen set03Replacement01Value replaceJSON("operatingMode", 2)
attr Ofen set10Name targetTemperature
attr Ofen set10Replacement01Value replaceJSON("targetTemperature", 22)
attr Ofen set20Name heatingTimeMon1
attr Ofen set20Replacement01Value replaceJSON("heatingTimeMon1",*Value)
attr Ofen set21Name heatingTimeMon2
attr Ofen set21Replacement01Value replaceJSON("heatingTimeMon2",*Value)
attr Ofen set22Name heatingTimeTue1
attr Ofen set22Replacement01Value replaceJSON("heatingTimeTue1",*Value)
attr Ofen set23Name heatingTimeTue2
attr Ofen set23Replacement01Value replaceJSON("heatingTimeTue2",*Value)
attr Ofen set24Name heatingTimeWed1
attr Ofen set24Replacement01Value replaceJSON("heatingTimeWed1",*Value)
attr Ofen set25Name heatingTimeWed2
attr Ofen set25Replacement01Value replaceJSON("heatingTimeWed2",*Value)
attr Ofen set26Name heatingTimeThu1
attr Ofen set26Replacement01Value replaceJSON("heatingTimeThu1",*Value)
attr Ofen set27Name heatingTimeThu2
attr Ofen set27Replacement01Value replaceJSON("heatingTimeThu2",*Value)
attr Ofen set28Name heatingTimeFri1
attr Ofen set28Replacement01Value replaceJSON("heatingTimeFri1",*Value)
attr Ofen set29Name heatingTimeFri2
attr Ofen set29Replacement01Value replaceJSON("heatingTimeFri2",*Value)
attr Ofen set30Name heatingTimeSat1
attr Ofen set30Replacement01Value replaceJSON("heatingTimeSat1",*Value)
attr Ofen set31Name heatingTimeSat2
attr Ofen set31Replacement01Value replaceJSON("heatingTimeSat2",*Value)
attr Ofen set32Name heatingTimeSun1
attr Ofen set32Replacement01Value replaceJSON("heatingTimeSun1",*Value)
attr Ofen set33Name heatingTimeSun2
attr Ofen set33Replacement01Value replaceJSON("heatingTimeSun2",*Value)
attr Ofen setData {{data}}
attr Ofen setURL https://www.rika-firenet.com/api/client/Stove ID/controls
attr Ofen showError 1
attr Ofen sid01Data email=e-mailAdresse&password=geheim
attr Ofen sid01URL https://www.rika-firenet.com/web/login
attr Ofen stateFormat RT: RaumTemp Z: Zustand ST: SollTemp
attr Ofen timeout 120
attr Ofen verbose 2
attr Ofen widgetOverride targetTemperature:slider,20,23,24,25,26,27,28
und das gehört in die 99_myUtils.pm
package main;
use strict;
use warnings;
use POSIX;
use JSON;
use Image::Grab;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter you functions below _this_ line.
sub
replaceJSON ($$) {
my ($valToReplace, $value) = @_;
$value = InternalVal("Ofen", "value", $value);
Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
fhem ("get Ofen revision");
my $json = ReadingsVal("Ofen", "controlsJSON","");
Log3 ("Ofen", 3, "replaceJSON configsJSON: $json");
return if ($json eq "");
my $decoded = decode_json($json);
my $result;
for my $key ( keys %$decoded ) {
$result .= "$key=";
if ($key eq $valToReplace) {
$result .= $value."&";
} else {
$result .= $decoded->{$key}."&";
}
}
chop($result);
Log3("Ofen", 3, "replaceJSON Result: $result");
return $result;
}
Mein besonderer Dank an @amenomade (er ist der eigentliche Ersteller) und auch an @Vize
lg
Helmut
Vielen Dank. Komischerweise geht es jetzt einwandfrei.
Ich denke über Fhem bekomme ich das jetzt auch so hin wie ich das wollte
Gleich nochmal eine Frage hinterher.
Wie hast du deine Pelletbenachrichtigungg erstellt?
Kann man es nicht so machen das man eine Benachrichtigung bekommt,
wenn der Wert der bei Pellets Angezeigt wird um 15 höher ist.
Dann würde man sehen wann der nächste Sack reinpasst.
Weiß nur nicht wie ich das mit +15 mache.
Servus
das habe ich wie folgt gelöst - wahrscheinlich werde ich vom Forum geteert und gefedert - weil so kompliziert - aber es funktioniert:
ich habe eine dummy erstellt -> du_PelletsWarnung (aliasPelletsFüllmenge) hier gibst du deinen bis jetzt bekannten Verbrauch ein = ":sensors_parameterFeedRateTotal"
und jedesmal wenn du 15 oder 30kg Pellet nachfüllst trägst du dies hier ein.
defmod du_PelletsWarnung dummy
attr du_PelletsWarnung alias PelletsFüllmenge
attr du_PelletsWarnung room Ofen
Dann gibt es ein notify
defmod ny_Uebertrag notify Ofen:sensors_parameterFeedRateTotal.* set du_PelletsOfen $EVTPART1
attr ny_Uebertrag alias ny_Uebertrag
attr ny_Uebertrag room Ofen,Steuerung
einen dummy PelletsVerbrauch
defmod du_PelletsOfen dummy
attr du_PelletsOfen alias PelletsVerbrauch
attr du_PelletsOfen room Ofen
Und ein DOIF für die Pushover Meldung ans Handy
defmod di_PelletsWarnung DOIF ([du_PelletsOfen:state] > [du_PelletsWarnung:state]) ({fhem("set Pushover1 msg title='Ofen' message='Pellets nachfüllen!'")}) DOELSE
attr di_PelletsWarnung alias di_PelletsWarnung
attr di_PelletsWarnung room Meldungen,Steuerung
Hoffe es hilft
LG
Helmut
Mahlzeit,
@Badflex und Helmi55
Wenn ich eure letzten Antworten lese, habt ihr den RIKA eigenen Thermostaten, richtig?
Nur damit ist der Komfortmodus nutzbar, oder?
Ich habe diesen Thermostaten nicht, sondern regele den Ofen über einen Homematic Wandthermostaten.
Damit sollte das Vorhaben zum Runterregeln der Heizleistung nach Raumtemperatur (und/oder Zeit) eigentlich mit Hilfe eines DOIFs funktionieren.
Platt gesagt, wenn Raumtemp. > X °C -> Heizleistung Ofen 50 %
Wenn der RIKA Thermostat ebenfalls ein Reading für die Raumtemperatur ins HTTPMOD-Device liefert, sollte das analog funktionieren...
Falls ich Blödsinn geschrieben habe, ignoriert es, ich habe nicht alle Posts im Detail gelesen... ;-)
Ich nutze das aber so nicht, sondern starte und stoppe den Ofen rein nach Raumtemperatur mit einem Delta von 1 K. Zur Zeit springt der damit zweimal pro Tag an.
Tiefer als 80 % Heizleistung gehe ich nicht, da der Ofen mir dann zuviel Ruß produziert im Pelletbetrieb.
VG
Andreas
Und noch eine andere Frage zum Ofen...
Hab' letztens ein Update auf die Version 2.28 vom Touch-Panel gemacht.
Der Firenet-Stick wurde dabei ebenfalls aktualisiert.
Seitdem verliert der Stick das WLAN gefühlt alle zwei Tage und die Steuerung per FHEM ist nicht mehr nutzbar.
Ist euch das Problem bekannt?
VG
Andreas
Also beim Sono den ich habe, gibt es nur die Version 2.27.
Ich hatte auch am Anfang das selbe Problem mit dem Wlan. Der Stick wurde nache einigen Mails mit Rika ausgetauscht
Seit dem geht es einwandfrei.
Ja, das war am Anfang meine frage ob ich wenn ich das mit dem HTTPMOD einrichte irgendwie Zugriff bekomme das ich das so Regeln kann.
Leider bin ich nicht ganz so fit im Programmieren von Fhem und muss mich da erst irgendwie einarbeiten.
Im Moment wollte ich wie Helmi eine Benachrichtigung einrichten wenn der Tank fast leer ist.
Dazu könnte man den Dekelsensor auch benutzen.
Das heißt wenn ich den Tankdeckel aufmache und ein Sack einfülle, könnte er eigentlich bei +15 kg eine Nachricht schicken.
Da muss ich aber uch nochmal spielen bis i h das so hin bekomme.
Hi,
der Stick wurde bei mir auch schon getauscht, allerdings bei einer der niedrigeren Versionsstände.
Mit V 2.27 lief auch alles ohne Störung durch, Probleme sind seit Update auf V 2.28 da.
Werde mal bei RIKA nachfragen, ob ein Downgrade möglich ist...
VG
Andreas
Hallo
also ich habe Ofen und Display 2.27.
Mein Techniker hat im Herbst beim Service gemeint, 2.28 spielen wir noch nicht auf........
Ich darf nicht verschreien, aber im Moment läuft alles sehr rund.
Gruß
Helmut
OK, danke euch für die Antworten.
Helmut, was macht denn dein Techniker beim Service so? Hab den bisher noch nicht gebraucht...
VG
Andreas
Servus
ich habe einen Wartungsvertrag.
Da wird der Ofen zerlegt und gereinigt. Inkl. Ofenrohr denn das macht der Rauchfangkehrer nicht.
Der werkelt da ca. 1 - 1 /2 Stunden
Gruß
Helmut
So habe ich es jetzt geregelt, klappt gut bis jetzt.
Die intervall Zeit muss man wohl ein bisschen runter setzen, sonst ist der Deckel zu bevor das Reading kommt.
Danke an Otto
attr ofen userReadings Merker:sensors_statusWarning:.2 {ReadingsNum($name,'sensors_parameterFeedRateTotal',0)+15}, nachricht:sensors_parameterFeedRateTotal:.* {fhem("set TelegramBot message 'Ofen' 'Pellettank fast leer!'") if (ReadingsNum($name,'sensors_parameterFeedRateTotal',0) >= ReadingsNum($name,'Merker',0))}
Hallo zusammen,
ich habe zwar keinen Ofen aber eine Wärmepumpe, diese habe ich via Intesis Modul etwas Sichtbar gemacht.
Nun möchte ich via FHEM einige Daten auslesen - verwenden.
Leider bekomme ich die HTTPMOD Abfrage nicht hin, ich deute aus dem gesamten Postings das ich beim Login scheitere.
https://accloud.intesis.com/login
Auch Burp hat mir (als Leihe) nicht wirklich geholfen
Anbei mein Device:
defmod intesis HTTPMOD https://accloud.intesis.com/panel/vista?id=127927473258
attr intesis userattr sid02Data
attr intesis enableCookies 1
attr intesis extractAllJSON 1
attr intesis reAuthRegex id="login"
attr intesis sid01Data signin_username=xxx.yyy@ddd.de&signin_password=xyz
attr intesis sid01URL https://accloud.intesis.com/login
attr intesis verbose 5
und ich hoffe den richtigen Teil aus dem Log:
2022.12.16 12:46:14 5: intesis: set called with reread
2022.12.16 12:46:14 4: intesis: GetUpdate called (reread)
2022.12.16 12:46:14 5: intesis: AddToQueue adds type update to URL https://accloud.intesis.com/panel/vista?id=127927473258, no data, no headers, retry 0, initial queue len: 0
2022.12.16 12:46:14 5: intesis: HandleSendQueue called from AddToSendQueue, qlen = 1
2022.12.16 12:46:14 5: intesis: HandleSendQueue is using Cookie symfonyFrontend with path / and Value 4v378o5mhg7mnvflejnt560056 (key symfonyFrontend;/, destination path is /panel/vista?id=127927473258)
2022.12.16 12:46:14 5: intesis: DoCookies is adding Cookie header: symfonyFrontend=4v378o5mhg7mnvflejnt560056
2022.12.16 12:46:14 4: intesis: HandleSendQueue sends update with timeout 2 to https://accloud.intesis.com/panel/vista?id=127927473258, No Data,
2022.12.16 12:46:14 5: intesis: ReadCallback called from __ANON__
2022.12.16 12:46:14 4: intesis: Read callback: request type was update retry 0,
2022.12.16 12:46:14 5: intesis: Read callback: body
<link rel="stylesheet" type="text/css" media="screen" href="/css/intesis-theme/jquery-ui-1.9.2.custom.css" />
if ('https://accloud.intesis.com/login' != top.location) {
window.parent.location.href = 'https://accloud.intesis.com/login';
<li><a target="_blank" href="https://www.intesis.com/privacy-policy">Privacy policy</a></li>
<li><a target="_blank" href="https://www.intesis.com/cookies">Cookies policy</a></li>
<li><a target="_blank" href="https://www.intesis.com/support/ac-cloud-control-faq">FAQ</a></li>
<li class="last"><a target="_blank" href="https://www.intesis.com/support/contact">Help</a></li>
<li><a target="_blank" href="https://www.intesis.com/docs/terms_and_conditions-accloud">Terms and Conditions</a></li>
2022.12.16 12:46:14 4: intesis: BodyDecode is not decoding the response body (charset utf-8, bodyDecode defaults to none)
2022.12.16 12:46:14 4: intesis: error while parsing JSON data: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html PUBLI...") at lib/FHEM/HTTPMOD/Utils.pm line 691.
2022.12.16 12:46:14 5: intesis: GetCookies is looking for Cookies
2022.12.16 12:46:14 5: intesis: ExtractSid called, context reading, num unknown
2022.12.16 12:46:14 4: intesis: checking for redirects, code=200, ignore=0
2022.12.16 12:46:14 4: intesis: no redirects to handle
2022.12.16 12:46:14 5: intesis: Read callback sets LAST_REQUEST to update
2022.12.16 12:46:14 5: intesis: CheckAuth is checking buffer with ReAuthRegex (?^:id="login")
2022.12.16 12:46:14 4: intesis: CheckAuth decided new authentication required
2022.12.16 12:46:14 5: intesis: AddToQueue prepends type update to URL https://accloud.intesis.com/panel/vista?id=127927473258, no data, no headers, retry 1, initial queue len: 0
2022.12.16 12:46:14 4: intesis: CheckAuth prepended request update again before auth, retryCount 0 ...
2022.12.16 12:46:14 4: intesis: DoAuth called with Steps: 01
2022.12.16 12:46:14 5: intesis: AddToQueue prepends type auth01 to URL https://accloud.intesis.com/login, data signin_username=xxx.yyy@ddd.de&signin_password=xyz, no headers, retry 0, initial queue len: 1
2022.12.16 12:46:14 5: intesis: HandleSendQueue called from DoAuth, qlen = 2
2022.12.16 12:46:14 5: intesis: HandleSendQueue is using Cookie symfonyFrontend with path / and Value 4v378o5mhg7mnvflejnt560056 (key symfonyFrontend;/, destination path is /login)
2022.12.16 12:46:14 5: intesis: DoCookies is adding Cookie header: symfonyFrontend=4v378o5mhg7mnvflejnt560056
2022.12.16 12:46:14 4: intesis: HandleSendQueue sends auth01 with timeout 2 to https://accloud.intesis.com/login,
2022.12.16 12:46:14 5: intesis: StartQueueTimer called from HandleSendQueue sets internal timer to process queue in 1.000 seconds
2022.12.16 12:46:14 5: intesis: ReadCallback called from __ANON__
2022.12.16 12:46:14 4: intesis: Read callback: request type was auth01 retry 0,
2022.12.16 12:46:14 5: intesis: Read callback: body
<link rel="stylesheet" type="text/css" media="screen" href="/css/intesis-theme/jquery-ui-1.9.2.custom.css" />
if ('https://accloud.intesis.com/login' != top.location) {
window.parent.location.href = 'https://accloud.intesis.com/login';
<li><a target="_blank" href="https://www.intesis.com/privacy-policy">Privacy policy</a></li>
<li><a target="_blank" href="https://www.intesis.com/cookies">Cookies policy</a></li>
<li><a target="_blank" href="https://www.intesis.com/support/ac-cloud-control-faq">FAQ</a></li>
<li class="last"><a target="_blank" href="https://www.intesis.com/support/contact">Help</a></li>
<li><a target="_blank" href="https://www.intesis.com/docs/terms_and_conditions-accloud">Terms and Conditions</a></li>
2022.12.16 12:46:14 4: intesis: BodyDecode is not decoding the response body (charset utf-8, bodyDecode defaults to none)
2022.12.16 12:46:14 4: intesis: error while parsing JSON data: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html PUBLI...") at lib/FHEM/HTTPMOD/Utils.pm line 691.
2022.12.16 12:46:14 5: intesis: GetCookies is looking for Cookies
2022.12.16 12:46:14 5: intesis: ExtractSid called, context sid, num 01
2022.12.16 12:46:14 4: intesis: checking for redirects, code=200, ignore=0
2022.12.16 12:46:14 4: intesis: no redirects to handle
2022.12.16 12:46:14 5: intesis: Read callback sets LAST_REQUEST to auth01
2022.12.16 12:46:15 5: intesis: HandleSendQueue called from Fhem internal timer, qlen = 1
2022.12.16 12:46:15 5: intesis: HandleSendQueue is using Cookie symfonyFrontend with path / and Value 4v378o5mhg7mnvflejnt560056 (key symfonyFrontend;/, destination path is /panel/vista?id=127927473258)
2022.12.16 12:46:15 5: intesis: DoCookies is adding Cookie header: symfonyFrontend=4v378o5mhg7mnvflejnt560056
2022.12.16 12:46:15 4: intesis: HandleSendQueue sends update with timeout 2 to https://accloud.intesis.com/panel/vista?id=127927473258, No Data,
2022.12.16 12:46:15 5: intesis: ReadCallback called from __ANON__
2022.12.16 12:46:15 4: intesis: Read callback: request type was update retry 1,
2022.12.16 12:46:15 5: intesis: Read callback: body
<link rel="stylesheet" type="text/css" media="screen" href="/css/intesis-theme/jquery-ui-1.9.2.custom.css" />
if ('https://accloud.intesis.com/login' != top.location) {
window.parent.location.href = 'https://accloud.intesis.com/login';
<li><a target="_blank" href="https://www.intesis.com/privacy-policy">Privacy policy</a></li>
<li><a target="_blank" href="https://www.intesis.com/cookies">Cookies policy</a></li>
<li><a target="_blank" href="https://www.intesis.com/support/ac-cloud-control-faq">FAQ</a></li>
<li class="last"><a target="_blank" href="https://www.intesis.com/support/contact">Help</a></li>
<li><a target="_blank" href="https://www.intesis.com/docs/terms_and_conditions-accloud">Terms and Conditions</a></li>
2022.12.16 12:46:15 4: intesis: BodyDecode is not decoding the response body (charset utf-8, bodyDecode defaults to none)
2022.12.16 12:46:15 4: intesis: error while parsing JSON data: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html PUBLI...") at lib/FHEM/HTTPMOD/Utils.pm line 691.
2022.12.16 12:46:15 5: intesis: GetCookies is looking for Cookies
2022.12.16 12:46:15 5: intesis: ExtractSid called, context reading, num unknown
2022.12.16 12:46:15 4: intesis: checking for redirects, code=200, ignore=0
2022.12.16 12:46:15 4: intesis: no redirects to handle
2022.12.16 12:46:15 5: intesis: Read callback sets LAST_REQUEST to update
2022.12.16 12:46:15 5: intesis: CheckAuth is checking buffer with ReAuthRegex (?^:id="login")
2022.12.16 12:46:15 4: intesis: CheckAuth decided new authentication required
2022.12.16 12:46:15 4: intesis: Authentication still required but no retries left - did last authentication fail?
2022.12.16 12:46:15 3: intesis: no parsed JSON structure available
2022.12.16 12:46:15 5: intesis: Read starts parsing response to update with defined readings:
2022.12.16 12:46:15 4: intesis: Read response to update didn't match any Reading
2022.12.16 12:46:15 5: intesis: HandleSendQueue called from ReadCallback, qlen = 0
2022.12.16 12:46:15 5: intesis: HandleSendQueue found no usable entry in queue
Hätte hier jemand einen Rat für mich?
Vielen Dank
Servus
ich kann dir leider nicht weiterhelfen, aber mach einen eigenen thread auf, da es hier um RIKA Pelletofen ging.......
Viel Glück und Gruß
Helmut