Hallo,
ich habe seit kurzem eine OZW672 im Einsatz. Der Zugriff über Web auf den Siemensserver funktioniert einwandfrei.
Jetzt wollte ich diesen auch in mein fhem integrieren um evt. bei kälteren Außentemperaturen zu reagieren und die Heizung steuern.
Folgende Einträge habe ich in der fhem.cfg
###### OZW ######
define ozw672 HTTPMOD https://192.168.115.50/api/auth/login.json?user=Test&pwd=Test 300
attr ozw672 userattr get1Name get1Poll:0,1 get1PollDelay get1PollDelay:0,1 get1URL get2Name get2Poll:0,1 get2PollDelay get2PollDelay:0,1 get2URL get3Name get3Poll:0,1 get3URL get4Name get4Poll:0,1 get4URL get5Name get5Poll:0,1 get5URL get6Name get6Poll:0,1 get6URL get7Name get7Poll:0,1 get7PollDelay get7PollDelay:0,1 get7URL get8Name get8Poll:0,1 get8URL sid1IDRegex sid1URL
attr ozw672 event-on-change-reading anzahlStartsBrenner,statusKessel,tempAussen,tempAussenGemischt,tempKesselRuecklauf,tempKesselRuecklaufSoll,tempKesselSoll,tempTWW
attr ozw672 get1Name tempAussen
attr ozw672 get1Poll 1
attr ozw672 get1PollDelay 1800
attr ozw672 get1URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1960
attr ozw672 get2Name tempAussenGemischt
attr ozw672 get2Poll 1
attr ozw672 get2PollDelay 1800
attr ozw672 get2URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1964
attr ozw672 get3Name tempTWW
attr ozw672 get3Poll 1
attr ozw672 get3URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1996
attr ozw672 get4Name tempKesselSoll
attr ozw672 get4Poll 1
attr ozw672 get4URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1910
attr ozw672 get5Name tempKesselRuecklauf
attr ozw672 get5Poll 1
attr ozw672 get5URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1915
attr ozw672 get6Name tempKesselRuecklaufSoll
attr ozw672 get6Poll 1
attr ozw672 get6URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1916
attr ozw672 get7Name anzahlStartsBrenner
attr ozw672 get7Poll 1
attr ozw672 get7PollDelay 1800
attr ozw672 get7URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1927
attr ozw672 get8Name statusKessel
attr ozw672 get8Poll 1
attr ozw672 get8URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1898
attr ozw672 reAuthRegex .*session not valid.*
attr ozw672 room OZW
attr ozw672 sid1IDRegex .*"(.*-.*-.*-[0-9a-z]*).*
attr ozw672 sid1URL https://192.168.115.50/api/auth/login.json?user=Test&pwd=Test
#attr ozw672 get8Regex Value": "([a-zA-Zü ]*)"
#attr ozw672 get8OMap Aus:0, Nachlauf aktiv:5, Freigegeben für TWW:10, #Freigegeben für HK:20, In Teillastbetrieb für TWW:40, In Teillastbetrieb für #HK:50, In Betrieb für Trinkwasser:90, In Betrieb für Heizkreis:100
#attr ozw672 getRegex Value": "[ ]*([-.0-9]*)"
als Ergebnis erhalte ich folgendes:
Internals:
BUSY 0
CHANGED
DEF https://192.168.115.50/api/auth/login.json?user=test&pwd=Test 300
Interval 300
LASTSEND 1482157306.51668
LastAuthTry 2016-12-19 15:21:23
MainURL https://192.168.115.50/api/auth/login.json?user=Test&pwd=Test
ModuleVersion 3.3.5 - 29.9.2016
NAME ozw672
NR 40
STATE ???
TRIGGERTIME 1482157579.65535
TRIGGERTIME_FMT 2016-12-19 15:26:19
TYPE HTTPMOD
addr https://192.168.115.50:443
buf HTTP/1.0 200 OK
Content-Type: application/json;charset=utf-8
Expires: 0
Cache-Control: must-revalidate, max-age=0, proxy-revalidate, s-maxage=0, post-check=0, pre-check=0
Content-Length: 131
Connection: close
Date: Mon, 19 Dec 2016 14:21:08 GMT
Server: Siemens Switzerland Ltd.
{
"Data":
{
},
"Result":
{
"Success": "false",
"Error": {
"Txt": "read failed",
"Nr": "6"
}
}
}
code 200
conn
data
displayurl https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=38381e32-4b1b-49f0-ad1c-57914300762a&Id=1927
header
host 192.168.115.50
httpheader HTTP/1.0 200 OK
Content-Type: application/json;charset=utf-8
Expires: 0
Cache-Control: must-revalidate, max-age=0, proxy-revalidate, s-maxage=0, post-check=0, pre-check=0
Content-Length: 131
Connection: close
Date: Mon, 19 Dec 2016 14:21:08 GMT
Server: Siemens Switzerland Ltd.
httpversion 1.0
hu_blocking 0
hu_filecount 12
ignoreredirects 0
loglevel 4
path /api/menutree/read_datapoint.json?SessionId=38381e32-4b1b-49f0-ad1c-57914300762a&Id=1927
protocol https
redirects 0
sid 38381e32-4b1b-49f0-ad1c-57914300762a
timeout 2
url https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=38381e32-4b1b-49f0-ad1c-57914300762a&Id=1927
value 0
QUEUE:
Readings:
Request:
data
header
ignoreredirects 0
retryCount 0
type get7
url https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1927
value 0
Lastpoll:
anzahlStartsBrenner 1482157279.65529
statusKessel 1482157279.65529
tempAussen 1482157279.65529
tempAussenGemischt 1482157279.65529
tempKesselRuecklauf 1482157279.65529
tempKesselRuecklaufSoll 1482157279.65529
tempKesselSoll 1482157279.65529
tempTWW 1482157279.65529
Sslargs:
Attributes:
event-on-change-reading anzahlStartsBrenner,statusKessel,tempAussen,tempAussenGemischt,tempKesselRuecklauf,tempKesselRuecklaufSoll,tempKesselSoll,tempTWW
get1Name tempAussen
get1Poll 1
get1PollDelay 1800
get1URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1960
get2Name tempAussenGemischt
get2Poll 1
get2PollDelay 1800
get2URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1964
get3Name tempTWW
get3Poll 1
get3URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1996
get4Name tempKesselSoll
get4Poll 1
get4URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1910
get5Name tempKesselRuecklauf
get5Poll 1
get5URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1915
get6Name tempKesselRuecklaufSoll
get6Poll 1
get6URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1916
get7Name anzahlStartsBrenner
get7Poll 1
get7PollDelay 1800
get7URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1927
get8Name statusKessel
get8Poll 1
get8URL https://192.168.115.50/api/menutree/read_datapoint.json?SessionId=$sid&Id=1898
reAuthRegex .*session not valid.*
room OZW
sid1IDRegex .*"(.*-.*-.*-[0-9a-z]*).*
sid1URL https://192.168.115.50/api/auth/login.json?user=Test&pwd=Test
userattr get1Name get1Poll:0,1 get1PollDelay get1PollDelay:0,1 get1URL get2Name get2Poll:0,1 get2PollDelay get2PollDelay:0,1 get2URL get3Name get3Poll:0,1 get3URL get4Name get4Poll:0,1 get4URL get5Name get5Poll:0,1 get5URL get6Name get6Poll:0,1 get6URL get7Name get7Poll:0,1 get7PollDelay get7PollDelay:0,1 get7URL get8Name get8Poll:0,1 get8URL sid1IDRegex sid1URL
Werte bekomme ich nicht ausgelesen, zudem hatte fhem.cfg beim Speichern einen Fehler gemeldet, dass er "get8Regex Value" nicht ausführen kann.
Was mache ich falsch?
MFG
Hallo pacific, hier ein Auszug wie ich die Werte auslese.
define ozw672 HTTPMOD https://192.168.xxx.xxx/api/auth/login.json?user=xxxx&pwd=xxxx 120
attr ozw672 userattr get10Name get10Poll:0,1 get10PollDelay get10PollDelay:0,1 get10Regex get10URL get11Name get11Poll:0,1 get11PollDelay get11PollDelay:0,1 get11Regex get11URL get12Name get12Poll:0,1 get12PollDelay get12PollDelay:0,1 get12Regex get12URL get13Name get13Poll:0,1 get13PollDelay get13PollDelay:0,1 get13Regex get13URL get14Name get14Poll:0,1 get14PollDelay get14PollDelay:0,1 get14Regex get14URL get15Name get15Poll:0,1 get15PollDelay get15PollDelay:0,1 get15Regex get15URL get1Name get1Poll:0,1 get1PollDelay get1PollDelay:0,1 get1Regex get1URL get2Name get2Poll:0,1 get2PollDelay get2PollDelay:0,1 get2Regex get2URL get3Name get3Poll:0,1 get3PollDelay get3PollDelay:0,1 get3Regex get3URL get4Name get4Poll:0,1 get4PollDelay get4PollDelay:0,1 get4Regex get4URL get5Name get5Poll:0,1 get5PollDelay get5PollDelay:0,1 get5Regex get5URL get6Name get6Poll:0,1 get6PollDelay get6PollDelay:0,1 get6Regex get6URL get7Name get7Poll:0,1 get7PollDelay get7PollDelay:0,1 get7Regex get7URL get8Name get8Poll:0,1 get8PollDelay get8PollDelay:0,1 get8Regex get8URL get9Name get9Poll:0,1 get9PollDelay get9PollDelay:0,1 get9Regex get9URL sid1IDRegex sid1IdRegex sid1URL
# Hier nicht alle Werte aufgeführt
attr ozw672 enableControlSet 1
attr ozw672 get10Name ZustandpumpeHk1Vl
attr ozw672 get10Poll 1
attr ozw672 get10PollDelay 100
attr ozw672 get10Regex Value": "[ ]*([Aa-z,Ea-z]*)"
attr ozw672 get10URL https://192.168.xx.xxx/api/menutree/read_datapoint.json?SessionId=$sid&Id=7801
attr ozw672 get11Name tempVlHk2
attr ozw672 get11Poll 1
attr ozw672 get11PollDelay 100
attr ozw672 get11Regex Value": "[ ]*([-.0-9]*)"
attr ozw672 get11URL https://192.168.xxx.xxx/api/menutree/read_datapoint.json?SessionId=$sid&Id=7971
attr ozw672 get12Name ZustandpumpeHk2Vl
attr ozw672 get12Poll 1
attr ozw672 get12PollDelay 100
attr ozw672 get12Regex Value": "[ ]*([Aa-z,Ea-z]*)"
attr ozw672 get12URL https://192.168.xxx.xxx/api/menutree/read_datapoint.json?SessionId=$sid&Id=7821
attr ozw672 get13Name TrinkwasserstellgliedQ3
attr ozw672 get13Poll 1
attr ozw672 get13PollDelay 100
attr ozw672 get13Regex Value": "[ ]*([Aa-z,Ea-z]*)"
attr ozw672 get13URL https://192.168.xxx.xxx/api/menutree/read_datapoint.json?SessionId=$sid&Id=7900
attr ozw672 get14Name SondeEintrittTemp
attr ozw672 get14Poll 1
attr ozw672 get14PollDelay 100
attr ozw672 get14Regex Value": "[ ]*([-.0-9]*)"
attr ozw672 get14URL https://192.168.xxx.xxx/api/menutree/read_datapoint.json?SessionId=$sid&Id=7735
attr ozw672 get15Name SondeAustrittTemp
attr ozw672 get15Poll 1
attr ozw672 get15PollDelay 100
attr ozw672 get15Regex Value": "[ ]*([-.0-9]*)"
attr ozw672 get15URL https://192.168.xxx.xxx/api/menutree/read_datapoint.json?SessionId=$sid&Id=7738
attr ozw672 reAuthRegex .*session not valid.*
attr ozw672 room Setup
attr ozw672 sid1IdRegex .*"(.*-.*-.*-[0-9a-z]*).*
attr ozw672 sid1URL https://192.168.xxx.xxx/api/auth/login.json?user=xxx&pwd=xxxx
attr ozw672 sslArgs SSL_verify_mode,SSL_VERIFY_NONE
attr ozw672 stateFormat {sprintf("B3: %s Soll: %s B31: %s Verdichter1: %s Verdichter2: %s", ReadingsVal($name,"tempTwwIstObenB3","na"), ReadingsVal($name,"tempTwwSollAkt","na"), ReadingsVal($name,"tempTwwIstUntenB31","na"), ReadingsVal($name,"ZustandVerdichter1","na"), ReadingsVal($name,"ZustandVerdichter2","na"))}
attr ozw672 verbose 0
define FileLog_ozw672 FileLog ./log/ozw672-%Y-%m.log ozw672
attr FileLog_ozw672 logtype text
attr FileLog_ozw672 room Setup
# Hier nicht alle SGV's aufgeführt
define SVG_FileLog_ozw672_1 SVG FileLog_ozw672:SVG_FileLog_ozw672_1:CURRENT
attr SVG_FileLog_ozw672_1 group Warmwasser_Plot
attr SVG_FileLog_ozw672_1 label "RVS Warmwasser B3, Last: $data{currval1} °C, Min: $data{min1} °C, Max: $data{max1} °C, Avg: $data{avg1} °C"
attr SVG_FileLog_ozw672_1 plotfunction SVG_FileLog_ozw672_1
attr SVG_FileLog_ozw672_1 room Heizung
attr SVG_FileLog_ozw672_1 sortby 2
define SVG_FileLog_ozw672_2 SVG FileLog_ozw672:SVG_FileLog_ozw672_2:CURRENT
attr SVG_FileLog_ozw672_2 group Ozw672_Plot
attr SVG_FileLog_ozw672_2 label "RVS Verdichter 1 und 2"
attr SVG_FileLog_ozw672_2 room Heizung
attr SVG_FileLog_ozw672_2 sortby 3
Beachte dass meine Id's nicht mit deinen übereinstimmen, da ich das Schema neu erstellt hatte und dabei diese bei mir auf dem Siemens Web-Server angepasst wurden.
Ich habe deinen Code nur oberflächlich betrachtet, sehe aber z.B. keine Regex Anweisungen. Das ist vermutlich der Grund, dass dann keine Werte gelesen werden.
In Abhängigkeit ob Text oder Zahlen ausgelesen werden, ist der entsprechende Regex anzuwenden.
Versuch das mal und melde dich wieder.
Gruss, Bruno
Hallo,
wo finde ich denn meine ID's?
Gruß Roger
Hallo,
dazu hat Lanhydrock im Beitrag https://forum.fhem.de/index.php/topic,33765.msg264219.html#msg264219 (https://forum.fhem.de/index.php/topic,33765.msg264219.html#msg264219)
mit der Antwort #5 eine sehr gute Beschreibung gemacht.
Gruss, Bruno
Hallo,
habe jetzt die Anbindung an meine OZW, jedoch bekomme ich noch kein PLot.
Was beeinhaltet z,B. ->>>> SondeAustrittTemp
Habe ich diese Variable selber definiert?
Wie komme ich zu einem Plot?
Gruß Roger
Hallo Roger, was Du brauchst, ist für jedes Plot eine gplot Definition. So habe ich z.B. für das erste Plot das File SVG_FileLog_ozw672_1.gplot erstellt. Die Datei muss in der gplot Ablage (Directory) sein.
# Created by FHEM/98_SVG.pm, 2016-11-06 09:20:14
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid y2tics
set ylabel "Temperatur"
set y2label "Temperatur"
set yrange [30:70]
set y2range [30:70]
#FileLog_ozw672 4:ozw672.tempTwwIstObenB3\x3a::
#FileLog_ozw672 4:ozw672.tempTwwIstUntenB31\x3a::
#FileLog_ozw672 4:ozw672.tempTwwSollAkt\x3a::
plot "<IN>" using 1:2 axes x1y2 title 'B3' ls l0 lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'B31' ls l1 lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'Soll' ls l2 lw 1 with lines
Das geht zusammen mit was im fhem.cfg definiert wird - hier der Auszug des Codes für obiges Plot
define SVG_FileLog_ozw672_1 SVG FileLog_ozw672:SVG_FileLog_ozw672_1:CURRENT
attr SVG_FileLog_ozw672_1 group Warmwasser_Plot
attr SVG_FileLog_ozw672_1 label "RVS Warmwasser B3, Last: $data{currval1} °C, Min: $data{min1} °C, Max: $data{max1} °C, Avg: $data{avg1} °C"
attr SVG_FileLog_ozw672_1 plotfunction SVG_FileLog_ozw672_1
attr SVG_FileLog_ozw672_1 room Heizung
attr SVG_FileLog_ozw672_1 sortby 2
Versuchs mal auf deine Bezeichnungen anzupassen - so sollte es dann den Plot erstellen.
Gruss, Bruno
Probiert, getestet und funktioniert.
Danke Bruno
Hallo,
ich habe jetzt mein OZW672 in Fhem eingebunden und es läuft auch.
Ist es möglich, die Präsenzfunktion auch über einen Befehl einzuschalten?
Wenn ich außerhalb der Schaltzeiten nach Hause komme und
die Präsenztaste meiner QAA70 drücke, schalte ich damit den Brenner ein.
Dieses möchte ich gerne über fhem erledigen, bevor ich nachhause komme.
Vielleicht hat ja jemand eine Lösung.
Gruß Roger
Die nnm[emoji3][emoji8][emoji23][emoji2]
Gesendet von iPhone mit Tapatalk
Zitat von: pacific am 09 Januar 2017, 20:26:05
Ist es möglich, die Präsenzfunktion auch über einen Befehl einzuschalten?
Hi Roger,
via OZW ist es imho nicht möglich, aber mit unserem BSB-LAN-Adapter: https://1coderookie.github.io/BSB-LPB-LAN/kap08.html#822-pr%C3%A4senztaste-simulieren ;)
Edit: Hier der Link zum entspr. Thread: https://forum.fhem.de/index.php/topic,29762.0.html