CCU2 und Solvis Remote ?
Moderator: Co-Administratoren
CCU2 und Solvis Remote ?
Hallo,
hat sich mal jemand von Euch mit der Solvis Remote - Interface der Solvis Heizungssteuerung - beschäftigt und eventuell eine Idee, wie man die Werte in die Homematic CCU2 übernehmen könnte ?
Ich habe schon viel mit wget und curl herumexperimentiert und versucht die Werte direkt von der WEBapplikation auszulesen. Das läuft aber nicht stabil.
Gruß, whoami
hat sich mal jemand von Euch mit der Solvis Remote - Interface der Solvis Heizungssteuerung - beschäftigt und eventuell eine Idee, wie man die Werte in die Homematic CCU2 übernehmen könnte ?
Ich habe schon viel mit wget und curl herumexperimentiert und versucht die Werte direkt von der WEBapplikation auszulesen. Das läuft aber nicht stabil.
Gruß, whoami
-
- Beiträge: 10752
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 672 Mal
Re: CCU2 und Solvis Remote ?
Das sind sehr wenig Informationen, die du da bietest.
Was hast du, was brauchst du, wo klemmt es?
Alchy
Was hast du, was brauchst du, wo klemmt es?
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: CCU2 und Solvis Remote ?
Hi Alchy,
ich würde gerne die Live-Werte der Solvis per XML-API und statechange.cgi in dafür angelegte CCU2-Systemvariablen aktualisieren. Im Grunde geht es um die ca. 15 Werte, die in der WEBapplikation siehe Bild dargestellt werden.
Aktuell hole ich mir die Seite per curl rein und würde dann per awk versuchen die Werte zu filtern, leider funktioniert das bisher nicht.
Selbst wenn es gehen würde bin ich mig nicht sicher, ob der Traffic für sekündliches curlen und ausfiltern der 15 Werte + Schreiben zur CCU2 nicht etwas viel Traffic bedeuten würde.
Ich habe allerdings noch einen RPi auf dem dieser Job läuft. Er übergibt das dann nur per XML-Api an die CCU2.
Vielleicht gibt es einen viel besseren Ansatz !?
Gruß, whoami
Gesendet von iPhone mit Tapatalk
-
- Beiträge: 10752
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 672 Mal
Re: CCU2 und Solvis Remote ?
Von "Website im Sekundentakt per CURL einzulesen" (zumindest von der CCU aus), kann ich nur abraten. Warum so übertrieben?whoami hat geschrieben:Selbst wenn es gehen würde bin ich mig nicht sicher, ob der Traffic für sekündliches curlen und ausfiltern der 15 Werte + Schreiben zur CCU2 nicht etwas viel Traffic bedeuten würde.
Alle paar Minuten sollte bei einer Heizung doch völlig ausreichen. Und das ist wiederum von der CCU aus möglich.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: CCU2 und Solvis Remote ?
naja, alle paar Minuten erfassen sieht im Trending später ziemlich fies aus. Nicht bei den Speichertemperaturen, aber in den Bereichen Temperaturen und Durchfluss für Solar und Kamin ist schon ganz viel Dynamik drin. Da ändern sich die Werte durchaus mal sehr schnell im Sekundentakt. Warmwasser wird auch häufig nur kurz genuzt. Bei zu grober Erfassung gibt es dann hässliche und schlecht aufgelöste Rechteckkurven.
Gesendet von iPhone mit Tapatalk
Gesendet von iPhone mit Tapatalk
Re: CCU2 und Solvis Remote ?
der Raspberry als Datenknecht kann ja auch ruhig etwas arbeiten und über ein JavaScript kann ich dort dafür sorgen, dass nur bei Wertänderung diese per XML-API in der CCU2 geupdated werden.
Aber ich wäre auch an einer alternativen Lösung interessiert, hatte bisher noch keine Idee ...
Gesendet von iPhone mit Tapatalk
Aber ich wäre auch an einer alternativen Lösung interessiert, hatte bisher noch keine Idee ...
Gesendet von iPhone mit Tapatalk
Re: CCU2 und Solvis Remote ?
Hallo Alchy,
ich habe ein php-Script bei den Symcons' gefunden, das den Job erledigen kann.
Falls jemand Interesse hat ...
Gruß, whoami
Gesendet von iPhone mit Tapatalk
ich habe ein php-Script bei den Symcons' gefunden, das den Job erledigen kann.
Falls jemand Interesse hat ...
Gruß, whoami
Gesendet von iPhone mit Tapatalk
CCU2 und Solvis Remote ?
Hallo whoami,whoami hat geschrieben:Hallo Alchy,
ich habe ein php-Script bei den Symcons' gefunden, das den Job erledigen kann.
Falls jemand Interesse hat ...
Gruß, whoami
Gesendet von iPhone mit Tapatalk
Ich habe auch eine Solvis Heizung und mir die Remote Box zugelegt, leider GEZ das App von Solvis garnicht.
Hast du es schon hinbekommen die Daten auf der ccu2 einzubinden?
Gruß klein-ele
Re: CCU2 und Solvis Remote ?
Hallo zusammen,
ich betreibe seit fast zwei Jahren eine solche Lösung, d.h. ich lese über die CCU2 alle vorhandenen Daten aus einer SolvisRemote aus.
Bevor ich das benutzt Script poste erst einmal die Skizzierung der umgesetzten Lösung:
Über die SolvisRemote lassen sich die aktuellen Zustände der Ein- und Ausgänge einer Solvisheizungsanlage abfragen.
Derzeit habe ich noch die Version 1.13 der SolvisRemote im Einsatz. Leider beherrscht die Solvis-remote bis zur Version 1.16 kein eigenes Daten-Logging.
Hinweis: Seit Ende März gibt es die Version 2.10, die ein Daten-Logging über einen Zeitraum von drei Wochen inkl. Diagrammauswertung vornimmt.
In der CCU2 wird in regelmässigen Abständen die SolvisRemote ausgelesen und die Zustände der Ein- und Ausgänge in virtuelle Kanäle der CUxD abgelegt.
Dieses habe ich über die Zusatzsoftware CuX-Dämon realisisiert. Der Vorteil ist, dass auch gleichzeitig die Daten weggeschrieben werden und so eine graphische Auswertung von Zeitreihen problemlos realisert ist (über CUxD-Highcharts). Wichtig ist, dass das regelmässige Auslesen nicht per CCU2-Zeitschaltung erfolgt (lässt die CCU2 abstürzen), sondern über einen Trigger realisiert wird (bei mir z.B. über eine HM-Komponente, die sich alle 1-2 Minuten meldet). Auf diese Aktualisierung habe ich eine Regel gelegt, die das Auslesescript startet. Im Forum findest Du genug Beispiele wie so eine Trigger-Regel geht.
Zum Ende lese ich per HM-Script die einzelnen virtuellen Kanäle in der CUxD aus und lege die Werte in Systemvariablen der CCU2 ab.
Jetzt zum ersten Script. Das ist realisiert als tcl-script.
Wie Du ein tcl-Script auf die CCU2 bekommst und zum Laufen bringst, dass kannst Du auch hier im Forum nachlesen.
Bitte beachte auch die Hinweis in den Kommentarzeilen des Scripts (z.B. vorab manuelles Anlegen der verwendeten Systemvariablen auf der CCU2).
Das zweite Script (Auslesen der virtuellen CUxD-Kanäle in Systemvariablen) ist:
Viel Erfolg
Wolfgang
ich betreibe seit fast zwei Jahren eine solche Lösung, d.h. ich lese über die CCU2 alle vorhandenen Daten aus einer SolvisRemote aus.
Bevor ich das benutzt Script poste erst einmal die Skizzierung der umgesetzten Lösung:
Über die SolvisRemote lassen sich die aktuellen Zustände der Ein- und Ausgänge einer Solvisheizungsanlage abfragen.
Derzeit habe ich noch die Version 1.13 der SolvisRemote im Einsatz. Leider beherrscht die Solvis-remote bis zur Version 1.16 kein eigenes Daten-Logging.
Hinweis: Seit Ende März gibt es die Version 2.10, die ein Daten-Logging über einen Zeitraum von drei Wochen inkl. Diagrammauswertung vornimmt.
In der CCU2 wird in regelmässigen Abständen die SolvisRemote ausgelesen und die Zustände der Ein- und Ausgänge in virtuelle Kanäle der CUxD abgelegt.
Dieses habe ich über die Zusatzsoftware CuX-Dämon realisisiert. Der Vorteil ist, dass auch gleichzeitig die Daten weggeschrieben werden und so eine graphische Auswertung von Zeitreihen problemlos realisert ist (über CUxD-Highcharts). Wichtig ist, dass das regelmässige Auslesen nicht per CCU2-Zeitschaltung erfolgt (lässt die CCU2 abstürzen), sondern über einen Trigger realisiert wird (bei mir z.B. über eine HM-Komponente, die sich alle 1-2 Minuten meldet). Auf diese Aktualisierung habe ich eine Regel gelegt, die das Auslesescript startet. Im Forum findest Du genug Beispiele wie so eine Trigger-Regel geht.
Zum Ende lese ich per HM-Script die einzelnen virtuellen Kanäle in der CUxD aus und lege die Werte in Systemvariablen der CCU2 ab.
Jetzt zum ersten Script. Das ist realisiert als tcl-script.
Wie Du ein tcl-Script auf die CCU2 bekommst und zum Laufen bringst, dass kannst Du auch hier im Forum nachlesen.
Bitte beachte auch die Hinweis in den Kommentarzeilen des Scripts (z.B. vorab manuelles Anlegen der verwendeten Systemvariablen auf der CCU2).
Code: Alles auswählen
load tclrega.so
# tcl-Script für Homematic CCU2
# Auslesen der Daten der Solvis-Heizung
# Autor: Wolfgang Roller
# Stand: 14.04.2015
# Zusammenfassung der todos:
# 1) Im tcl-Skript (in der url) Solvisadresse ip-Adresse eintragen
# 2) Die Url aus dem Skript erst im Browser testen, ob die korrekte Antwort geliefert wird
# http://solvisuser:password@ip_der_solvisremote/sc2_val.xml)
# Über die Seite ../sc2_val.xml werden die aktuellen Daten der Solvisheizung geliefert.
# 3) Alle Variablen von Hand in der homematic definieren
# 4) Im Addons-Verzeichnis ein Verzeichnis anlegen; hier: "solvis"
# 5) Skript als .tcl in oben angelegtes Verzeichnis kopieren (per FTP-Client z.B. FileZilla)
# 6) Periodischen Aufruf des Skripts (anhand Trigger) in der gewohnten Art anlegen.
# => Ein Programm welches einen Temperatur-Sensor abfragt und eine Systemvariable ansteuert. So erhälst du alle 120-180 Sekunden ein Intervall.
# Programm Inhalt:
# Wenn:
# Gerät - Temperatursensor - Wertebereich größer -20°C - auslösen auf Aktualisierung
# Dann:
# Systemvariable - Trigger - Wert: Trigger
# Statt deines Zeitmoduls nimmst du dann die Systemvariable "Trigger" und wählst dort "auslösen auf Aktualisierung".
# Empfehlung von ELV:
# kurze zyklische Auslöse-Intervalle sollten nach Möglichkeit vermieden werden.
# Wir raten ebenfalls zur Antriggerung über die Aktualisierung von Temperatursensoren oder Helligkeitssensoren.
# Somit entlasten Sie die Zentrale und erreichen ein zyklischen Auslösen der Programme und Scripte.
proc hexinzahl {x} {
# procedure wandelt einstellige Hexadezimalzahl in Dezimalzahl um
switch $x {
F {set x 15}
E {set x 14}
D {set x 13}
C {set x 12}
B {set x 11}
A {set x 10}
default {set x $x}
}
return $x
}
proc wertergebnis {y} {
# procedur liefert den Dezimalwert der eingelieferten zweizeichigen Hexadezimalzahl zurück.
# hierbei werden die erten beiden Hex-Ziffernb mit den letzten beiden vertauscht.
# procedur ruft zur Übersetzung einzahliger Hexadezimalzahlen die procedure hexinzahl () auf
set ergebnis [expr (([hexinzahl [string index $y 2]] * 4096) + ([hexinzahl [string index $y 3]] * 256) + ([hexinzahl [string index $y 0]] * 16) + ([hexinzahl [string index $y 1]]))]
return $ergebnis
}
proc ausein {x} {
# procedur liefert den Dezimalwert der eingelieferten zweizeichigen Hexadezimalzahl zurück
# procedur ruft zur Übersetzung einzahliger Hexadezimalzahlen die procedure hexinzahl () auf
set ergebnis [expr ((([hexinzahl [string index $x 0]] * 16) + [hexinzahl [string index $x 1]]) / 20)]
return $ergebnis
}
# Variablen:
#
# Header: Pos 11 - 22
# Uhrzeit: Pos 23 - 28
# Anlagentyp: Pos 29 - 32 AtoH
# Systemnummer: Pos 33 - 36 AtoH
# S1v Solvis-Warmwasserpuffer Pos 37 - 40 AtoH value/10 [°C]
# S2v Solvis-Warmwassertemp Pos 41 - 44 AtoH value/10 [°C]
# S3v Solvis-Speicherreferenz Pos 45 - 48 AtoH value/10 [°C]
# S4v Solvis-Heizungspuffer_oben Pos 49 - 52 AtoH value/10 [°C]
# S5v Solar-Vorlauf Pos 53 - 56
# S6v Solar-Rücklauf Pos 57 - 60
# S7v Solar-Solardruck Pos 61 - 64
# S8v Solar-Kollektortemp Pos 65 - 68 AtoH value/10 [°C]
# S9v Solvis-Heizungspuffer_unten Pos 69 - 72 AtoH value/10 [°C]
# S10v Solvis-Außentemp Pos 73 - 76 AtoH value/10 [°C]
# S11v Solvis-Zirkulationstemp Pos 77 - 80 AtoH value/10 [°C]
# S12v Solvis-Heizungs-Vorlauftemp Pos 81 - 84 AtoH value/10 [°C]
# S13v unbelegt Pos 85 - 88
# S14v unbelegt Pos 89 - 92
# S15v unbelegt Pos 93 - 96
# S16v unbelegt Pos 97 - 100
# S18v Durchfluss Pos 101 - 104 AtoH [l/h]
# S17v Solar-Durchfluss Pos 105 - 108 AtoH value/10 [l/h]
# AnalogIn1 Pos 109 - 112
# AnalogIn2 Pos 113 - 116
# AnalogIn3 Pos 117 - 120
# AnalogOut1 Pos 121 - 124
# AnalogOut2 Pos 125 - 128
# AnalogOut3 Pos 129 - 132
# AnalogOut4 Pos 133 - 136
# RF1 Raumfühler1 Pos 137 - 140 AtoH value/10 [°C]
# (RF2 Raumfühler2 Pos 141 - 144 AtoH value/10 [°C])
# (RF3 Raumfühler3 Pos 145 - 148 AtoH value/10 [°C])
# A1v Solar-Pumpe Pos 141 - 142 0=AUS; 1=EIN
# A2v Solvis-Warmwasserpumpe Pos 143 - 144 0=AUS; 1=EIN
# A3v Solvis-Heizkreispumpe Pos 145 - 146 0=AUS; 1=EIN
# A4v Solvis-Heizkreis2pumpe Pos 147 - 148 0=AUS; 1=EIN
# A5v Solvis-Zirkulationspumpe Pos 149 - 150 0=AUS; 1=EIN
# A6v Solvis-Heizkreis3pumpe Pos 151 - 152 0=AUS; 1=EIN
# A7v unbelegt Pos 153 - 154
# A8v Solvis-HK1Misch_auf Pos 155 - 156 0=AUS; 1=EIN
# A9v Solvis-HK1Misch_zu Pos 157 - 158 0=AUS; 1=EIN
# A10v Solvis-HK2Misch_auf Pos 159 - 160 0=AUS; 1=EIN
# A11v Solvis-HK2Misch_zu Pos 161 - 162 0=AUS; 1=EIN
# A12v Solvis-Brenner Pos 163 - 164 0=AUS; 1=EIN
# A13v unbelegt Pos 165 - 166
# A14v Solvis-Entstörung Pos 167 - 168 0=AUS; <>0=EIN
# Werte überspringen Pos 169 - 184
# SEv Solarertrag Pos 185 - 189 AtoH [kWh]
# Werte überspringen Pos 190 - 219
# SLv Solarleistung Pos 220 - 223 AtoH value/10 [kW]
# *** HIER die URL von Solvis-Remote eintragen
# *** http://solvisuser:password@ip_der_solvisRemote/sc2_val.html
set url http://solvisuser:password@ip_der_solvisRemote/sc2_val.xml
exec /usr/bin/wget -q -O /usr/local/addons/solvis/solvisaktuell.xml $url
# Öffnen der Datei und Zuordnung zur Variablemn $input
set f [open "/usr/local/addons/solvis/solvisaktuell.xml"]
set input [read $f]
close $f
# Verarbeitung
# puts $input
# puts "Header: [string range $input 11 22]"
set S1v [expr ([wertergebnis [string range $input 37 40]] + 0.1) /10 - 0.01]
#puts "S1v Solvis-Warmwasserpuffer: $S1v - ([string range $input 37 40])"
set S2v [expr ([wertergebnis [string range $input 41 44]] + 0.1) /10 - 0.01]
#puts "S2v Solvis-Warmwassertemp: $S2v - ([string range $input 41 44])"
set S3v [expr ([wertergebnis [string range $input 45 48]] + 0.1) /10 - 0.01]
#puts "S3v Solvis-Speicherreferenz: $S3v - ([string range $input 45 48])"
set S4v [expr ([wertergebnis [string range $input 49 52]] + 0.1) /10 - 0.01]
#puts "S4v Solvis-Heizungspuffer_oben: $S4v - ([string range $input 49 52])"
set S5v [expr ([wertergebnis [string range $input 53 56]] + 0.1) /10 - 0.01]
#puts "S5v Solar-Vorlauf: $S5v - ([string range $input 53 56])"
set S6v [expr ([wertergebnis [string range $input 57 60]] + 0.1) /10 - 0.01]
#puts "S6v Solar-Rücklauf: $S6v - ([string range $input 57 60])"
set S7v [expr ([wertergebnis [string range $input 61 64]] + 0.1) /10 - 0.01]
#puts "S7v Solra-Solardruck: $S7v - ([string range $input 61 64])"
set S8v [expr ([wertergebnis [string range $input 65 68]] + 0.1) /10 - 0.01]
#puts "S8v Solar-Kollektortemp: $S8v - ([string range $input 65 68])"
set S9v [expr ([wertergebnis [string range $input 69 72]] + 0.1) /10 - 0.01]
#puts "S9v Solvis-Heizungspuffer_unten: $S9v - ([string range $input 69 72])"
set S10v [expr ([wertergebnis [string range $input 73 76]] + 0.1) /10 - 0.01]
#puts "S10v Solvis-Außentemp: $S10v - ([string range $input 73 76])"
set S11v [expr ([wertergebnis [string range $input 77 80]] + 0.1) /10 - 0.01]
#puts "S11v Solvis-Zirkulationstemp: $S11v - ([string range $input 77 80])"
set S12v [expr ([wertergebnis [string range $input 81 84]] + 0.1) /10 - 0.01]
#puts "S12v Solvis-Heizungs-Vorlauftemp: $S12v - ([string range $input 81 84])"
#set S13v [expr ([wertergebnis [string range $input 85 88]] + 0.1) /10 - 0.01]
#puts "TempS13v: $S13v - ([string range $input 85 88])"
#set S14v [expr ([wertergebnis [string range $input 89 92]] + 0.1) /10 - 0.01]
#puts "TempS14v: $S14v - ([string range $input 89 92])"
#set S15v [expr ([wertergebnis [string range $input 93 96]] + 0.1) /10 - 0.01]
#puts "TempS15v: $S15v - ([string range $input 93 96])"
#set S16v [expr ([wertergebnis [string range $input 97 100]] + 0.1) /10 - 0.01]
#puts "TempS16v: $S16v - ([string range $input 97 100])"
set S18v [wertergebnis [string range $input 101 104]]
#puts "DurchflussS18v: $S18v - ([string range $input 101 104])"
set S17v [wertergebnis [string range $input 105 108]]
#puts "S17v Solar-Durchfluss: $S17v - ([string range $input 105 108])"
#set AI1 [wertergebnis [string range $input 109 112]]
#puts "AI1: $AI1 - ([string range $input 109 112])"
#set AI2 [wertergebnis [string range $input 113 116]]
#puts "AI2: $AI2 - ([string range $input 113 116])"
#set AI3 [wertergebnis [string range $input 117 120]]
#puts "AI3: $AI3 - ([string range $input 117 120])"
#set AO1 [wertergebnis [string range $input 121 124]]
#puts "AO1: $AO1 - ([string range $input 121 124])"
#set AO2 [wertergebnis [string range $input 125 128]]
#puts "AO2: $AO2 - ([string range $input 125 128])"
#set AO3 [wertergebnis [string range $input 129 132]]
#puts "AO3: $AO3 - ([string range $input 129 132])"
#set AO4 [wertergebnis [string range $input 133 136]]
#puts "AO4: $AO4 - ([string range $input 133 136])"
#set RF1 [expr ([wertergebnis [string range $input 137 140]] + 0.1) /10 - 0.01]
#puts "RF1 Raumfühler1: $RF1 - ([string range $input 137 140])"
#set RF2 [expr ([wertergebnis [string range $input 141 144]] + 0.1) /10 - 0.01]
#puts "RF2 Raumfühler2: $RF2 - ([string range $input 141 144])"
#set RF3 [expr ([wertergebnis [string range $input 145 148]] + 0.1) /10 - 0.01]
#puts "RF3 Raumfühler3: $RF3 - ([string range $input 145 148])"
set A1v [ausein [string range $input 141 142]]
#puts "A1v Solar-Pumpe: $A1v - ([string range $input 141 142])"
set A2v [ausein [string range $input 143 144]]
#puts "A2v Solvis-Warmwasserpumpe: $A2v - ([string range $input 143 144])"
set A3v [ausein [string range $input 145 146]]
#puts "A3v Solvis-Heizkreispumpe: $A3v - ([string range $input 145 146])"
set A4v [ausein [string range $input 147 148]]
#puts "A4v: $A4v - ([string range $input 147 148])"
set A5v [ausein [string range $input 149 150]]
#puts "A5v: Solvis-Zirkulationspumpe $A5v - ([string range $input 149 150])"
set A6v [ausein [string range $input 151 152]]
#puts "A6v: $A6v - ([string range $input 151 152])"
set A7v [ausein [string range $input 153 154]]
#puts "A7v: $A7v - ([string range $input 153 154])"
set A8v [ausein [string range $input 155 156]]
#puts "A8v: $A8v - ([string range $input 155 156])"
set A9v [ausein [string range $input 157 158]]
#puts "A9v: $A9v - ([string range $input 157 158])"
set A10v [ausein [string range $input 159 160]]
#puts "A10v: $A10v - ([string range $input 159 160])"
set A11v [ausein [string range $input 161 162]]
#puts "A11v: $A11v - ([string range $input 161 162])"
set A12v [ausein [string range $input 163 164]]
#puts "A12v Solvis-Brenner: $A12v - ([string range $input 163 164])"
set A13v [ausein [string range $input 165 166]]
#puts "A13v: $A13v - ([string range $input 165 166])"
set A14v [ausein [string range $input 167 168]]
#puts "A14v Solvis-Entstörung: $A14v - ([string range $input 167 168])"
set SEv [wertergebnis [string range $input 185 188]]
#puts "SEv Solarertrag: $SEv - ([string range $input 185 188])"
set SLv [expr ([wertergebnis [string range $input 220 223]] + 0.1) /10 - 0.01]
#puts "SLv Solarleistung: $SLv - ([string range $input 220 223])"
#puts "Schluss1: [wertergebnis [string range $input 224 227]]"
#puts "Schluss2: [wertergebnis [string range $input 228 231]]"
#puts "Schluss3: [wertergebnis [string range $input 232 235]]"
#puts "([string range $input 236 [string length $input]])"
# Umlaute korrigieren
# set ReGaHss variables
set rega_cmd ""
append rega_cmd "dom.GetObject('Solvis-Warmwasserpuffer').State($S1v);"
append rega_cmd "dom.GetObject('Solvis-Warmwassertemp').State($S2v);"
append rega_cmd "dom.GetObject('Solvis-Speicherreferenz').State($S3v);"
append rega_cmd "dom.GetObject('Solvis-Heizungspuffer_oben').State($S4v);"
append rega_cmd "dom.GetObject('Solvis-Heizungspuffer_unten').State($S9v);"
append rega_cmd "dom.GetObject('Solvis-Aussentemp').State($S10v);"
append rega_cmd "dom.GetObject('Solvis-Zirkulationstemp').State($S11v);"
append rega_cmd "dom.GetObject('Solvis-Heizungs-Vorlauftemp').State($S12v);"
append rega_cmd "dom.GetObject('Solar-Kollektortemp').State($S8v);"
append rega_cmd "dom.GetObject('Solar-Vorlauf').State($S5v);"
append rega_cmd "dom.GetObject('Solar-Ruecklauf').State($S6v);"
append rega_cmd "dom.GetObject('Solar-Ertrag').State($SEv);"
append rega_cmd "dom.GetObject('Solar-Leistung').State($SLv);"
append rega_cmd "dom.GetObject('Solar-Pumpe').State($A1v);"
append rega_cmd "dom.GetObject('Solar-Durchfluss').State($S17v);"
append rega_cmd "dom.GetObject('Solvis-Warmwasserpumpe').State($A2v);"
append rega_cmd "dom.GetObject('Solvis-Heizkreispumpe').State($A3v);"
append rega_cmd "dom.GetObject('Solvis-Zirkulationspumpe').State($A5v);"
append rega_cmd "dom.GetObject('Solvis-Heizkreismischer_auf').State($A8v);"
append rega_cmd "dom.GetObject('Solvis-Heizkreismischer_zu').State($A9v);"
append rega_cmd "dom.GetObject('Solvis-Brenner').State($A12v);"
append rega_cmd "dom.GetObject('Solvis-Entstoerung').State($A14v);"
rega_script $rega_cmd
Code: Alles auswählen
string stdout;
string stderr;
system.Exec("tclsh /usr/local/addons/solvis/solvis-daten-lesen.tcl", &stdout, &stderr);
var v = dom.GetObject("Solvis-Aussentemp");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Aussentemp;"#y);
var v = dom.GetObject("Solvis-Warmwasserpuffer");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Warmwasserpuffer;"#y);
var v = dom.GetObject("Solvis-Warmwassertemp");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Warmwassertemp;"#y);
var v = dom.GetObject("Solvis-Brenner");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Brenner;"#y);
var v = dom.GetObject("Solvis-Warmwasserpumpe");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Warmwasserpumpe;"#y);
var v = dom.GetObject("Solvis-Heizkreispumpe");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Heizkreispumpe;"#y);
var v = dom.GetObject("Solvis-Zirkulationspumpe");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Zirkulationspumpe;"#y);
var v = dom.GetObject("Solvis-Heizungs-Vorlauftemp");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Heizungsvorlauftemp;"#y);
var v = dom.GetObject("Solvis-Heizungspuffer_oben");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Heizungspuffer_oben;"#y);
var v = dom.GetObject("Solvis-Heizungspuffer_unten");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Heizungspuffer_unten;"#y);
var v = dom.GetObject("Solvis-Speicherreferenz");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Speicherreferenz;"#y);
var v = dom.GetObject("Solvis-Heizkreismischer_auf");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Heizkreismischer_auf;"#y);
var v = dom.GetObject("Solvis-Heizkreismischer_zu");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Heizkreismischer_zu;"#y);
var v = dom.GetObject("Solvis-Entstoerung");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Entstörung;"#y);
var v = dom.GetObject("Solvis-Zirkulationstemp");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solvis-Zirkulationstemp;"#y);
var v = dom.GetObject("Solar-Pumpe");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solar-Pumpe;"#y);
var v = dom.GetObject("Solar-Kollektortemp");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solar-Kollektortemp;"#y);
var v = dom.GetObject("Solar-Ruecklauf");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solar-Rücklauf;"#y);
var v = dom.GetObject("Solar-Vorlauf");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solar-Vorlauf;"#y);
var v = dom.GetObject("Solar-Leistung");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solar-Leistung;"#y);
var v = dom.GetObject("Solar-Durchfluss");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solar-Durchfluss;"#y);
var v = dom.GetObject("Solar-Ertrag");
var y = v.Variable();
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Solar-Ertrag;"#y);
Viel Erfolg
Wolfgang
-
- Beiträge: 295
- Registriert: 12.07.2017, 21:08
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 14 Mal
Re: CCU2 und Solvis Remote ?
Moin
Ich hole mal diesen Thread aus der Versenkung hoch, da bei mir gerade ein SolvisMax mit Solaranbindung installiert wird.
Gibt es beim Datenauslesen Neuerungen? Wenn ich es richtig verstehe, wird ja seit der Version 2.1 ein Datenlogging in der Solvis Remote vorgenommen, dh. Man müsste ja auch und diese Datensammlung zugreifen können, mit dem Vorteil, dass man nicht so häufig Datenverkehr zwischen CCU(3) und Remote hätte, oder?
Bin an Euren aktuellen Lösungen interessiert.
Danke
K-H
Ich hole mal diesen Thread aus der Versenkung hoch, da bei mir gerade ein SolvisMax mit Solaranbindung installiert wird.
Gibt es beim Datenauslesen Neuerungen? Wenn ich es richtig verstehe, wird ja seit der Version 2.1 ein Datenlogging in der Solvis Remote vorgenommen, dh. Man müsste ja auch und diese Datensammlung zugreifen können, mit dem Vorteil, dass man nicht so häufig Datenverkehr zwischen CCU(3) und Remote hätte, oder?
Bin an Euren aktuellen Lösungen interessiert.
Danke
K-H
512 Kanäle in 101 Geräten und 145 CUxD-Kanäle in 19 CUxD-Geräten:
--------------------------------------------
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/Downloads/eq3/downl ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
--------------------------------------------
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/Downloads/eq3/downl ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907