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>
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