Zitat von Inventor
Beitrag anzeigen
So wollte mal meinen Stand der Einbindung via CpoWeb mitteilen
Habe einige Werte der Wärmepumpe eingebunden:
A1: AUSSENTEMPERATUR |A|1|
A2: Statusmeldung siehe Dimplex NWPM Anleitung |A|43|
A3: Störmeldung siehe Dimplex NWPM Anleitung |A|42|
A4: Vorlauftemperatur |A|5|
A5: Rücklauftemperatur |A|2|
A6: Eintritt Sole Temperatur |A|6|
A7: Austritt Sole Temperatur |A|7|
A8: Warmwasser Temperatur |A|3|
((((A9: Hochdruck |A|1|? ))))
A10: Niederdruck |A|101|
Das ganze funktioniert soweit auch, habe nur festgestellt das es nicht optimale ist, da alle werte einzeln nacheinander abgefragt werden, und somit es etwas Träge wird.
Wie man die Werte zusammen abfragt ist mir bekannt, nur an der Weiterverarbeitung übersteigt mein (past©) können.
Beispiel Abfrage zweier werte:
Antwort der der CpoWeb wäre:
vielleicht ist es ja möglich das mir jemand an dem oben genannten Beispiel konkret auf zeigt wie ich die einzelnen werte den Ausgängen zuordne. 
Gruß Timo
Habe einige Werte der Wärmepumpe eingebunden:
A1: AUSSENTEMPERATUR |A|1|
A2: Statusmeldung siehe Dimplex NWPM Anleitung |A|43|
A3: Störmeldung siehe Dimplex NWPM Anleitung |A|42|
A4: Vorlauftemperatur |A|5|
A5: Rücklauftemperatur |A|2|
A6: Eintritt Sole Temperatur |A|6|
A7: Austritt Sole Temperatur |A|7|
A8: Warmwasser Temperatur |A|3|
((((A9: Hochdruck |A|1|? ))))
A10: Niederdruck |A|101|
Code:
###[LBS]### <? function LB_LBSID($id) { if ($E=getLogicEingangDataAll($id)) { if (getLogicElementStatus($id)==0) { if ($E[1]['value']!=0 && $E[1]['refresh']==1) { setLogicElementStatus($id,1); callLogicFunctionExec(LBSID,$id); } } else { //### } } } ?> ###[/LBS]### ###[EXEC]### <? require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php"); set_time_limit(15); sql_connect(); //---------------------------------------------------------------------------------------------------------------------------------------- if ($E=getLogicEingangDataAll($id)) { $ip = $E[2]['value']; } $url1 = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|1|1"; $url2 = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|43|43"; $url3 = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|42|42"; $url4 = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|5|5"; $url5 = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|2|2"; $url6 = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|6|6"; $url7 = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|7|7"; $url8 = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|3|3"; //$url9 = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|1|1"; $url10 = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|101|101"; $ausgabe1 = file_get_contents("$url1"); //Aussentemperatur $regexp="(.*?<VALUE>(.*?)</VALUE>.*)"; preg_match($regexp,$ausgabe1,$data1); setLogicLinkAusgang($id,1,$data1[1]); // $ausgabe2 = file_get_contents("$url2"); //Statusmeldung $regexp="(.*?<VALUE>(.*?)</VALUE>.*)"; preg_match($regexp,$ausgabe2,$data2); setLogicLinkAusgang($id,2,$data2[1]); // $ausgabe3 = file_get_contents("$url3"); //Störmeldung $regexp="(.*?<VALUE>(.*?)</VALUE>.*)"; preg_match($regexp,$ausgabe3,$data3); setLogicLinkAusgang($id,3,$data3[1]); // $ausgabe4 = file_get_contents("$url4"); //Vorlauftemperatur $regexp="(.*?<VALUE>(.*?)</VALUE>.*)"; preg_match($regexp,$ausgabe4,$data4); setLogicLinkAusgang($id,4,$data4[1]); // $ausgabe5 = file_get_contents("$url5"); //Rücklauftemperatur $regexp="(.*?<VALUE>(.*?)</VALUE>.*)"; preg_match($regexp,$ausgabe5,$data5); setLogicLinkAusgang($id,5,$data5[1]); // $ausgabe6 = file_get_contents("$url6"); //Eintritt Sole Temperatur $regexp="(.*?<VALUE>(.*?)</VALUE>.*)"; preg_match($regexp,$ausgabe6,$data6); setLogicLinkAusgang($id,6,$data6[1]); // $ausgabe7 = file_get_contents("$url7"); //Austritt Sole Temperatur $regexp="(.*?<VALUE>(.*?)</VALUE>.*)"; preg_match($regexp,$ausgabe7,$data7); setLogicLinkAusgang($id,7,$data7[1]); // $ausgabe8 = file_get_contents("$url8"); //Warmwasser Temperatur $regexp="(.*?<VALUE>(.*?)</VALUE>.*)"; preg_match($regexp,$ausgabe8,$data8); setLogicLinkAusgang($id,8,$data8[1]); //$ausgabe9 = file_get_contents("$url9"); //Hochdruck //$regexp="(.*?<VALUE>(.*?)</VALUE>.*)"; //preg_match($regexp,$ausgabe9,$data9); //setLogicLinkAusgang($id,9,$data9[1]); $ausgabe10 = file_get_contents("$url10"); //Niederdruck $regexp="(.*?<VALUE>(.*?)</VALUE>.*)"; preg_match($regexp,$ausgabe10,$data10); setLogicLinkAusgang($id,10,$data10[1]); setLogicElementStatus($id,0); //---------------------------------------------------------------------------------------------------------------------------------------- sql_disconnect(); ?> ###[/EXEC]###
Wie man die Werte zusammen abfragt ist mir bekannt, nur an der Weiterverarbeitung übersteigt mein (past©) können.
Beispiel Abfrage zweier werte:
Code:
$url = "http://admin:fadmin@".$ip."/config/xml.cgi?|A|1|1|A|2|2";
Code:
//<PCOWEB> //<PCO> //<ANALOG> //<VARIABLE> //<INDEX>1</INDEX> // <VALUE>0.2</VALUE> //</VARIABLE> //</ANALOG> //<ANALOG> //<VARIABLE> //<INDEX>2</INDEX> // <VALUE>27.7</VALUE> //</VARIABLE> //</ANALOG> //</PCO> //</PCOWEB>

Gruß Timo
Bin da aber auch noch dran das ganze mit einer Abfrage zu machen.
Auch den Fehlerlog will ich noch in Angriff nehmen. Da das ganze bei mir aber einwandfrei funktioniert steht das ganze ganz hinten auf meiner toDo Liste
Kommentar