Openhab 2 mit http Bindung

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Johannes911
Beiträge: 81
Registriert: 17. Aug 2020 08:02
Answers: 0

Re: Openhab 2 mit http Bindung

Beitrag von Johannes911 »

nur so eine Überlegung. Da die UVR1611 auch zwischendurch das Bild.gif mitsendet also irgendwelche Binärdaten - könnte das zum Abbruch des Einlesens führen? In diesem Fall ginge String ja wohl nicht - oder? Was könnte man dann nehmen / machen?

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Openhab 2 mit http Bindung

Beitrag von udo1toni »

Hmm... Aber die Seite endet doch mit </html> (also der Beispielcode oben)?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Johannes911
Beiträge: 81
Registriert: 17. Aug 2020 08:02
Answers: 0

Re: Openhab 2 mit http Bindung

Beitrag von Johannes911 »

ja, leider. Da kommt danach dann der interessante Teil mit den Daten, bis zum </html> ist praktisch nur der Seitenaufbau ohne Daten



2020-08-17 19:43:19.354 [DEBUG] [ab.binding.http.internal.HttpBinding] - updating cache for 'blnet' ('http://192.168.178.222/GRAFIK.html')
2020-08-17 19:43:19.524 [DEBUG] [ab.binding.http.internal.HttpBinding] - transformed response is '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html><head><meta http-equiv="content-type" content="text/html;charset=utf-8" /><meta http-equiv="expires" content="0"><style type="text/css">body {font-size: 14px; font-family: Verdana, Arial, Helvetica, sans-serif; background-repeat: no-repeat;} #g {position: relative;}#pa {top: 0px; left: 0px; position: absolute;}#p {top: 0px; left: 0px; position: absolute;} </style><script type="text/javascript">function sd (){document.title = this.data.Title; document.getElementById("g").style.width = this.data.Width; document.getElementById("g").style.height = this.data.Height; document.getElementById("pa").style.width = this.data.Width;document.getElementById("pa").style.height = this.data.Height;document.getElementById("p").src = this.data.GraphicFile; var rT = this.data.AutoRefreshTime; if(rT>29)window.setInterval("javascript:this.data.location.reload()", rT*1000); var rlt = this.data.RefreshLink;if(rlt!="") {var rL = document.createElement('a');rL.href="javascript:this.data.location.reload()"; rL.appendChild(document.createTextNode(rlt)); document.getElementById("rld").appendChild(rL);}} </script></head><body onload="sd ()"> <div align="center"><div id="g"> <img src="" border="0" id="p"> <iframe id="pa" src="GRAFIK1.htm" name="data" frameborder="0" scrolling="no" allowtransparency="yes"></iframe></div></div><div align="center" id="rld"></div></body></html>'
2020-08-17 19:43:20.525 [DEBUG] [ab.binding.http.internal.HttpBinding] - 'execute()' called ...
2020-08-17 19:43:21.526 [DEBUG] [ab.binding.http.internal.HttpBinding] - 'execute()' called ...
2020-08-17 19:43:22.527 [DEBUG] [ab.binding.http.internal.HttpBinding] - 'execute()' called ...

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Openhab 2 mit http Bindung

Beitrag von udo1toni »

Hm. Da wird ja eine komplett anderes Seite ausgeliefert...

Eigentlich sollte das http Binding sich nicht um Tags scheren, es heißt ja nicht html Binding, sondern http... Timeout könnte natürlich sein, das kannst Du aber in der http.cfg anpassen (nur für das http Binding insgesamt).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Johannes911
Beiträge: 81
Registriert: 17. Aug 2020 08:02
Answers: 0

Re: Openhab 2 mit http Bindung

Beitrag von Johannes911 »

Das Timeout sollte groß genug sein


# http binding
timeout=10000
granularity=5000
# format=true


//blnet1.url=http://192.168.178.222/c_index.htm
//blnet1.updateInterval=10000

blnet.url=http://192.168.178.222/GRAFIK.html
blnet.updateInterval=10000

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Openhab 2 mit http Bindung

Beitrag von udo1toni »

Setze doch bitte mal das updateInterval nach oben. Wenn http den Cache schon wieder füllt, bevor die Seite überhaupt komplett ausgeliefert ist, könnte das auch zu so einem Ergebnis führen. Setze das Interval vielleicht testweise mal auf 60000.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

JuergenA
Beiträge: 39
Registriert: 22. Jul 2020 19:15
Answers: 0

Re: Openhab 2 mit http Bindung

Beitrag von JuergenA »

Hallo Johannes,

was Hast Du denn bisher alles an der Seite der UVR bzw. dem BL-Net gemacht? Ich habe die Seite komplett neu geschrieben mit den Eingängen und Ausgängen ohne viel Schnick Schnack drum rum, weil das Openhab nicht interessiert. Zum ersten bin ich nach dieser Seite vorgegangen https://www.computer-kern.de/bl-net-mit ... -auslesen/

Bei mir war nur noch zum Schluß das Problem mit der Transformation, dass ich diese nicht installiert hatte. Dafür nochmals ein Dank an Udo der mich hier auf den richtigen Weg gebracht hat. Bei mir läuft es seither prima.

Und wenn ich mir deine Seite von eben anschaue sieht die so aus wie bei mir bevor ich die transformation installiert habe.

Mein FrameQuelltext sieht so aus:

Code: Alles auswählen

<!--2.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<style type="text/css">
  body {font-size: 14px; font-family: Verdana, Arial, Helvetica, sans-serif; background-repeat: no-repeat; background-color: transparent; background: transparent; margin: 0px; padding: 0px;}
  #frame {text-align: left; vertical-align: top; position: relative; margin-left: 0;}

/*########## CSS-ID: Positionen und Darstellung der Anzeigeparameter ##########*/
#pos0{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:93px; left:56px; }
#pos1{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:138px; left:54px; }
#pos2{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:186px; left:53px; }
#pos3{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:232px; left:54px; }
#pos4{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:281px; left:54px; }
#pos5{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:327px; left:51px; }
#pos6{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:374px; left:50px; }
#pos7{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:419px; left:51px; }
#pos8{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:465px; left:49px; }
#pos9{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:510px; left:46px; }
#pos10{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:553px; left:48px; }
#pos11{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:597px; left:49px; }
#pos12{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:640px; left:52px; }
#pos13{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:7px; left:54px; }
#pos14{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:54px; left:53px; }
#pos15{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:14px; left:673px; }
#pos16{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:109px; left:675px; }
#pos17{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:189px; left:673px; }
#pos18{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:235px; left:673px; }
#pos19{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:283px; left:671px; }
#pos20{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:327px; left:670px; }
#pos21{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:370px; left:671px; }
#pos22{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:420px; left:673px; }
#pos23{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:466px; left:676px; }
#pos24{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:514px; left:678px; }
#pos25{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:65px; left:674px; }
#pos26{position:absolute; font-family: Calibri; font-size: 26pt; color: rgb(0,0,0); font-style: normal; font-weight: bold; text-align: left; top:151px; left:675px; }
</style>
<script type="text/javascript">
<!--
 var Title ="Onlineschema";  // Titeltext im Browserfenster
 var GraphicFile = "GRAFIK.gif";  // Pfad der Grafikdatei
 var Width = "2452px";
 var Height = "3496px";
 
//### Intervallzeit [in Sekunden] fr eine automatische Aktualisierung der Messwerte: ###
//### < "30" = keine automatische Aktualisierung ###
//--------------------------------------------------
 var AutoRefreshTime = "30";

//### Linktext für manuelle Aktualisierung der Messwerte: ###
//### "" = kein Link für manuelle Aktualisierung ###
//--------------------------------------------------
 var RefreshLink ="";
 
 function set_dimenson_para (){
 document.getElementById("frame").style.width = Width;
 document.getElementById("frame").style.hight = Height;
 }
 -->
</script>
 
 </head>
 <body onload="set_dimenson_para ()">
 <div id="frame">
 <!--########## Definitionen der Anzeigeparameter ##########-->
<div id="pos0">Aussentemperatur: 23,7</div>
<div id="pos1">Warmwasser: 67,9</div>
<div id="pos2">Puffer_oben: 68,2</div>
<div id="pos3">Puffer_mitte: 65,7</div>
<div id="pos4">Puffer_unten: 62,2</div>
<div id="pos5">Solar_Ruecklauf: 33,8</div>
<div id="pos6">Heizkreis1_Vorlauf: 40,2</div>
<div id="pos7">Heizkreis1_Ruecklauf: 45,7</div>
<div id="pos8">Zirkulation: 37,6</div>
<div id="pos9">Kollektortemperatur: 26,7</div>
<div id="pos10">Kessel_Vorlauf: 45,2</div>
<div id="pos11">Heizkreis2_Vorlauf: 39,9</div>
<div id="pos12">Heizkreis2_Ruecklauf: 45,6</div>
<div id="pos13">Uhrzeit: 22:22:10</div>
<div id="pos14">Datum: 17.08.2020</div>
<div id="pos15">Ladepumpe: AUS</div>
<div id="pos16">Solarpumpe: AUS</div>
<div id="pos17">Mischer1_auf: AUS</div>
<div id="pos18">Mischer1_zu: AUS</div>
<div id="pos19">Brenneranforderung: AUS</div>
<div id="pos20">Heizkreispumpe1: AUS</div>
<div id="pos21">Zirkulationspumpe: AUS</div>
<div id="pos22">Mischer2_auf: AUS</div>
<div id="pos23">Mischer2_zu: AUS</div>
<div id="pos24">Heizkreispumpe2: AUS</div>
<div id="pos25">Drehzahl_Ladepumpe: 0</div>
<div id="pos26">Drehzahl_Solarpumpe: 0</div>
</div>
</body>
</html>
und meine Seite sieht so aus:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von JuergenA am 17. Aug 2020 22:25, insgesamt 1-mal geändert.

Johannes911
Beiträge: 81
Registriert: 17. Aug 2020 08:02
Answers: 0

Re: Openhab 2 mit http Bindung

Beitrag von Johannes911 »

leider keine Änderung

Johannes911
Beiträge: 81
Registriert: 17. Aug 2020 08:02
Answers: 0

Re: Openhab 2 mit http Bindung

Beitrag von Johannes911 »

Hallo JuergenA,

das könnte den Unterschied machen. Es gibt Personen die möchten gern das Anlagenschema im Hintergrund haben, deshalb ist das GIF noch mit drin.
Das hängt auch mit den Touch Panel zusammen, das im Wohnzimmer hängt.
Wahrscheinlich müssen die dann in den sauren Apfel beißen und dort auf Text mit Zahlen gucken.

In dem Zusammenhang: braucht es JAVA-Script zum bereitstellen der UVR-Werte oder reicht es wenn die Verlinkungen? eingetragen sind?

JuergenA
Beiträge: 39
Registriert: 22. Jul 2020 19:15
Answers: 0

Re: Openhab 2 mit http Bindung

Beitrag von JuergenA »

Hier mein BL-Net Items:

Code: Alles auswählen

// Variablen vom Typ String deklarieren und BL-NET Homepage auslesen

String  Aussentemperatur_temp                                                                    { http="<[blnet:30000:REGEX(.*Aussentemperatur:.([0-9]+,[0-9]).*)]" }
String  WarmWasser_temp                                                                          { http="<[blnet:30000:REGEX(.*Warmwasser:.([0-9]+,[0-9]).*)]" }
String  Puffer_oben_temp                                                                         { http="<[blnet:30000:REGEX(.*Puffer_oben:.([0-9]+,[0-9]).*)]" }
String  Puffer_mitte_temp                                                                        { http="<[blnet:30000:REGEX(.*Puffer_mitte:.([0-9]+,[0-9]).*)]" }
String  Puffer_unten_temp                                                                        { http="<[blnet:30000:REGEX(.*Puffer_unten:.([0-9]+,[0-9]).*)]" }
String  Solar_Ruecklauf_temp                                                                     { http="<[blnet:30000:REGEX(.*Solar_Ruecklauf:.([0-9]+,[0-9]).*)]" }
String  Heizkreis1_Vorlauf_temp                                                                  { http="<[blnet:30000:REGEX(.*Heizkreis1_Vorlauf:.([0-9]+,[0-9]).*)]" }
String  Heizkreis1_Ruecklauf_temp                                                                { http="<[blnet:30000:REGEX(.*Heizkreis1_Ruecklauf:.([0-9]+,[0-9]).*)]" }
String  Zirkulation_temp                                                                         { http="<[blnet:30000:REGEX(.*Zirkulation:.([0-9]+,[0-9]).*)]" }
String  Kollektortemperatur_temp                                                                 { http="<[blnet:30000:REGEX(.*Kollektortemperatur:.([0-9]+,[0-9]).*)]" }
String  Kesseltemperatur_Vorlauf_temp                                                            { http="<[blnet:30000:REGEX(.*Kessel_Vorlauf:.([0-9]+,[0-9]).*)]" }
String  Heizkreis2_Vorlauf_temp                                                                  { http="<[blnet:30000:REGEX(.*Heizkreis2_Vorlauf:.([0-9]+,[0-9]).*)]" }
String  Heizkreis2_Ruecklauf_temp                                                                { http="<[blnet:30000:REGEX(.*Heizkreis2_Ruecklauf:.([0-9]+,[0-9]).*)]" }
String  Datum                            "Datum: [%s]"                  <calendar>               { http="<[blnet:30000:REGEX(.*Datum:.([0-9][0-9].[0-9][0-9].[0-9][0-9][0-9][0-9]).*)]" }
String  Uhrzeit                          "Uhrzeit: [%s]"                <time>                   { http="<[blnet:30000:REGEX(.*Uhrzeit:.([0-9][0-9]:[0-9][0-9]:[0-9][0-9]).*)]" }
String  stat_Ladepumpe                   "Ladepumpe: [%s]"              <grundfos>               { http="<[blnet:30000:REGEX(.*>Ladepumpe:.([A-Z][A-Z][A-Z]).*)]" }
String  stat_Solarpumpe                  "Solarpumpe: [%s]"             <grundfos>               { http="<[blnet:30000:REGEX(.*>Solarpumpe:.([A-Z][A-Z][A-Z]).*)]" }
String  stat_Mischer1_auf                "Mischer 1 auf: [%s]"          <dreiwegemischer>        { http="<[blnet:30000:REGEX(.*Mischer1_auf:.([A-Z][A-Z][A-Z]).*)]" }
String  stat_Mischer1_zu                 "Mischer 1 zu: [%s]"           <dreiwegemischer>        { http="<[blnet:30000:REGEX(.*Mischer1_zu:.([A-Z][A-Z][A-Z]).*)]" }
String  Brenneranforderung               "Brenneranforderung: [%s]"     <fire>                   { http="<[blnet:30000:REGEX(.*Brenneranforderung:.([A-Z][A-Z][A-Z]).*)]" }
String  stat_Heizkreispumpe1             "Pumpe Heizkörper: [%s]"       <grundfos>               { http="<[blnet:30000:REGEX(.*Heizkreispumpe1:.([A-Z][A-Z][A-Z]).*)]" }
String  stat_Zirkulationspumpe           "Zirkulationspumpe: [%s]"      <grundfos>               { http="<[blnet:30000:REGEX(.*Zirkulationspumpe:.([A-Z][A-Z][A-Z]).*)]" }
String  stat_Mischer2_auf                "Mischer 2 auf: [%s]"          <dreiwegemischer>        { http="<[blnet:30000:REGEX(.*Mischer2_auf:.([A-Z][A-Z][A-Z]).*)]" }
String  stat_Mischer2_zu                 "Mischer 2 zu: [%s]"           <dreiwegemischer>        { http="<[blnet:30000:REGEX(.*Mischer2_zu:.([A-Z][A-Z][A-Z]).*)]" }
String  stat_Heizkreispumpe2             "Pumpe Fußbodenheizung: [%s]"  <grundfos>               { http="<[blnet:30000:REGEX(.*Heizkreispumpe2:.([A-Z][A-Z][A-Z]).*)]" }
String  speed_Ladepumpe_temp                                                                     { http="<[blnet:30000:REGEX(.*Drehzahl_Ladepumpe:.([0-9]+).*)]" }
String  speed_Solarpumpe_temp                                                                    { http="<[blnet:30000:REGEX(.*Drehzahl_Solarpumpe:.([0-9]+).*)]" }

//Variablen deklarieren für Umwandlung String to Float

Number  Aussentemperatur                 "Außentemperatur: [%.1f °C]"          <temperature>
Number  WarmWasser                       "Warmwasser: [%.1f °C]"               <temperature>
Number  Puffer_oben                      "Puffer oben: [%.1f °C]"              <temperature>
Number  Puffer_mitte                     "Puffer mitte: [%.1f °C]"             <temperature>
Number  Puffer_unten                     "Puffer unten: [%.1f °C]"             <temperature>
Number  Solar_Ruecklauf                  "Solar Rücklauf: [%.1f °C]"           <temperature>
Number  Heizkreis1_Vorlauf               "HK 1 Vorlauf: [%.1f °C]"             <temperature>
Number  Heizkreis1_Ruecklauf             "HK 1 Rücklauf: [%.1f °C]"            <temperature>
Number  Zirkulation                      "Zirkulation: [%.1f °C]"              <temperature>
Number  Kollektortemperatur              "Kollektor: [%.1f °C]"                <temperature>
Number  Kesseltemperatur_Vorlauf         "Kessel Vorlauf: [%.1f °C]"           <temperature>
Number  Heizkreis2_Vorlauf               "HK 2 Vorlauf: [%.1f °C]"             <temperature>
Number  Heizkreis2_Ruecklauf             "HK 2 Rücklauf: [%.1f °C]"            <temperature>
Number  speed_Ladepumpe                  "Ladepumpe: (0-30) [Stufe: %.0f]"            <speed>
Number  speed_Solarpumpe                 "Solarpumpe: (0-30) [Stufe: %.0f]"           <speed>
das ist die Rule dazu:

Code: Alles auswählen

//Variablen Deklaration

var String date
var String time
var String aussentmp
var String ww
var String puff_o
var String puff_m
var String puff_u
var String solar_rl
var String hk1_vl
var String hk1_rl
var String zirku
var String koll
var String kessel_vl
var String hk2_vl
var String hk2_rl
var String ladepumpe_speed
var String solarpumpe_speed

//Außentemperatur konvertieren

rule "Aussentemperatur"
when
  Item Aussentemperatur_temp changed
then
  aussentmp = Aussentemperatur_temp.state.toString
  logInfo("Aussentemperatur","Aussentemperatur:" + aussentmp.replace(',','.'))
  postUpdate(Aussentemperatur,new Float(aussentmp.replace(',','.')))
end

//Warmwassertemperatur konvertieren

rule "WarmWasser"
when
  Item WarmWasser_temp changed
then
  ww = WarmWasser_temp.state.toString
  logInfo("WarmWasser","WarmWasser:" + ww.replace(',','.'))
  postUpdate(WarmWasser,new Float(ww.replace(',','.')))
end

//Puffertemperatur oben konvertieren

rule "Puffer_top"
when
  Item Puffer_oben_temp changed
then
  puff_o = Puffer_oben_temp.state.toString
  logInfo("Puffer oben","Puffer oben:" + puff_o.replace(',','.'))
  postUpdate(Puffer_oben,new Float(puff_o.replace(',','.')))
end

//Puffertemperatur mitte konvertieren

rule "Puffer_mid"
when
  Item Puffer_mitte_temp changed
then
  puff_m = Puffer_mitte_temp.state.toString
  logInfo("Puffer mitte","Puffer mitte:" + puff_m.replace(',','.'))
  postUpdate(Puffer_mitte,new Float(puff_m.replace(',','.')))
end

//Puffertemperatur unten konvertieren

rule "Puffer_bottom"
when
  Item Puffer_unten_temp changed
then
  puff_u = Puffer_unten_temp.state.toString
  logInfo("Puffer unten","Puffer unten:" + puff_u.replace(',','.'))
  postUpdate(Puffer_unten,new Float(puff_u.replace(',','.')))
end

//Solartemperatur Rücklauf konvertieren

rule "Solar_RL"
when
  Item Solar_Ruecklauf_temp changed
then
  solar_rl = Solar_Ruecklauf_temp.state.toString
  logInfo("Solartemperatur","Solartemperatur:" + solar_rl.replace(',','.'))
  postUpdate(Solar_Ruecklauf,new Float(solar_rl.replace(',','.')))
end

//Heizkreistemperatur 1 Vorlauf konvertieren

rule "HK1_VL"
when
  Item Heizkreis1_Vorlauf_temp changed
then
  hk1_vl = Heizkreis1_Vorlauf_temp.state.toString
  logInfo("Heizkreis 1 VL","Heizkreis 1 VL:" + hk1_vl.replace(',','.'))
  postUpdate(Heizkreis1_Vorlauf,new Float(hk1_vl.replace(',','.')))
end

//Heizkreistemperatur 1 Rücklauf konvertieren

rule "HK1_RL"
when
  Item Heizkreis1_Ruecklauf_temp changed
then
  hk1_rl = Heizkreis1_Ruecklauf_temp.state.toString
  logInfo("Heizkreis 1 RL","Heizkreis 1 RL:" + hk1_rl.replace(',','.'))
  postUpdate(Heizkreis1_Ruecklauf,new Float(hk1_rl.replace(',','.')))
end

//Zirkulationstemperatur konvertieren

rule "Zirkulation_tmp"
when
  Item Zirkulation_temp changed
then
  zirku = Zirkulation_temp.state.toString
  logInfo("Zirkulation","Zirkulation:" + zirku.replace(',','.'))
  postUpdate(Zirkulation,new Float(zirku.replace(',','.')))
end

//Kollektortemperatur konvertieren

rule "Kollektor_tmp"
when
  Item Kollektortemperatur_temp changed
then
  koll = Kollektortemperatur_temp.state.toString
  logInfo("Kollektor","Kollektor:" + koll.replace(',','.'))
  postUpdate(Kollektortemperatur,new Float(koll.replace(',','.')))
end

//Kollektortemperatur konvertieren

rule "Kessel_tmp"
when
  Item Kesseltemperatur_Vorlauf_temp changed
then
  kessel_vl = Kesseltemperatur_Vorlauf_temp.state.toString
  logInfo("Kesseltemperatur","Kesseltemperatur:" + kessel_vl.replace(',','.'))
  postUpdate(Kesseltemperatur_Vorlauf,new Float(kessel_vl.replace(',','.')))
end

//Heizkreistemperatur 2 Vorlauf konvertieren

rule "HK2_VL"
when
  Item Heizkreis2_Vorlauf_temp changed
then
  hk2_vl = Heizkreis2_Vorlauf_temp.state.toString
  logInfo("Heizkreis 2 VL","Heizkreis 2 VL:" + hk2_vl.replace(',','.'))
  postUpdate(Heizkreis2_Vorlauf,new Float(hk2_vl.replace(',','.')))
end

//Heizkreistemperatur 2 Rücklauf konvertieren

rule "HK2_RL"
when
  Item Heizkreis2_Ruecklauf_temp changed
then
  hk2_rl = Heizkreis2_Ruecklauf_temp.state.toString
  logInfo("Heizkreis 2 RL","Heizkreis 2 RL:" + hk2_rl.replace(',','.'))
  postUpdate(Heizkreis2_Ruecklauf,new Float(hk2_rl.replace(',','.')))
end

//Geschwindigkeit Ladepumpe konvertieren

rule "Ladepumpe_speed"
when
  Item speed_Ladepumpe_temp changed
then
  ladepumpe_speed = speed_Ladepumpe_temp.state.toString
  logInfo("Geschwindigkeit Ladepumpe","Geschwindigkeit Ladepumpe:" + ladepumpe_speed.replace(',','.'))
  postUpdate(speed_Ladepumpe,new Float(ladepumpe_speed.replace(',','.')))
end

//Geschwindigkeit Solarpumpe konvertieren

rule "Solarpumpe_speed"
when
  Item speed_Solarpumpe_temp changed
then
  solarpumpe_speed = speed_Solarpumpe_temp.state.toString
  logInfo("Geschwindigkeit Ladepumpe","Geschwindigkeit Ladepumpe:" + solarpumpe_speed.replace(',','.'))
  postUpdate(speed_Solarpumpe,new Float(solarpumpe_speed.replace(',','.')))
end

das ist das http.cfg dazu:

Code: Alles auswählen

# timeout in milliseconds for the http requests (optional, defaults to 5000)
#timeout=

# the interval in milliseconds when to find new refresh candidates
# (optional, defaults to 1000)
#granularity=

# whether to substitute the current time or state value into the URL
# (optional, defaults to true)
#format=

# configuration of the first cache item
#<id1>.url=
#<id1>.updateInterval=

# configuration of the second cache item  
#<id2>.url=
#<id2>.updateInterval=

# http binding fuer Technische Alternative BL-Net
blnet.url=http://10.5.3.250/GRAFIK1.html
blnet.updateInterval=30000

Antworten