Wie schon vor Jahren im alten Solvis Thread geht das einfach über auslesen der Daten und schreiben in Datenpunkte. Die einzelnen Datenpunkte können wie oben dargestellt z.B. mit einer PHP Seite visualisiert werden oder wenn eine CCU3 benutzt wird kann dazu z.B. auch NEO benutzt werden um so Datenpunkte frei in Form von Systemvariablen der CCU oder Variablen aus Symcon auf einer Remoteoberfläche anzuordnen.
CCU2 und Solvis Remote ?
Moderator: Co-Administratoren
-
- Beiträge: 6722
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 479 Mal
Re: CCU2 und Solvis Remote ?
-
- Beiträge: 295
- Registriert: 12.07.2017, 21:08
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 14 Mal
Re: CCU2 und Solvis Remote ?
Schon mal Danke für die Antwort, noch wird das Teil bei mir installiert, wenn es im Betrieb ist, dann werde ich mich mal dran versuchen.
Beste Grüße
K-H
Beste Grüße
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
-
- Beiträge: 295
- Registriert: 12.07.2017, 21:08
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 14 Mal
Re: CCU2 und Solvis Remote ?
Hallo,Llewellyn hat geschrieben: ↑30.03.2017, 19:14Hallo 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: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
Wäre schön, wenn mir jemand hier helfen kann. Ich habe es versucht, komme aber nicht weiter.
1) ich habe das 1.Script auf der CCU3 im Verzeichnis Solvis (angelegt unter addons) als Datei mit dem Namen tclscriptsolvis.tcl abgelegt.
2) die URL zur Solvis Remote geändert und auch probiert, dass unter dieser Url ein XML File aufgerufen werden kann. Alle Variablen in der CCU3 Manuell als Textvariable angelegt
3) im scripteditor in der ccu WebUI habe ich folgenden Befehl ausgeführt: dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/etc/config/addons/solvis/tclscriptsolvis.tcl");
leider bekomme ich dann aber keinen File solvisaktuell.xml im Verzeichnis Solvis, bzw. Wenn ich eine solche Datei vorher anlege wird sie nicht gefüllt. Ich hatte es so verstanden, dass der Aufruf des tcl scripts genau diese Datei befüllen müsste.
Wo liegt mein Verständnis/Umsetzungsfehler?
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
-
- Beiträge: 14148
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 583 Mal
- Danksagung erhalten: 1497 Mal
Re: CCU2 und Solvis Remote ?
Siehst Du den Unterschied? Linux ist kontexsensitiv (s<>S).
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
-
- Beiträge: 295
- Registriert: 12.07.2017, 21:08
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 14 Mal
Re: CCU2 und Solvis Remote ?
Sorry, Schreibfehler im Post, habe das Verzeichnis als ‚solvis‘ angelegt, dh. Groß/Kleinschreibung ist berücksichtigt.
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
-
- Beiträge: 295
- Registriert: 12.07.2017, 21:08
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 14 Mal
Re: CCU2 und Solvis Remote ?
Ok, nach längerer Zeit hole ich den Thread nochmal hoch.
Meine damaligen Installationsprobleme habe ich - mit Hilfe des ursprünglichen Thread-Initiators - gemeistert.
Das Verzeichnis in das installiert wird muss im Übrigen usr/local/addons/solvis heißen.
Mit Hilfe meines Installateurs und von Solvis habe ich auch die Datenpunkte zuordnen können.
Unten entsprechend die TCL-Datei.
Jetzt mein aktuelles Problem:
Das Script funktioniert prima, die Variablen werden gefüllt. Aber heute haben wir zum ersten Mal Minustemperaturen und jetzt zeigt mir die Variable für die Außentemperatur einen „etwas“ unrealistischen Wert : 6553.0 C , bei aktuell -1,7°C Außentemperatur.
Da ich selber bei TCL und der Umwandlung von hex in Dezimal passen muss, hier meine Frage in die Community: wie muss ich das Script für den Wert Außentemperatur (nur hier kann es ja zu Minustemperaturen kommen) anpassen, damit ein richtiger Wert geloggt wird?
Danke für die Hilfe
Meine damaligen Installationsprobleme habe ich - mit Hilfe des ursprünglichen Thread-Initiators - gemeistert.
Das Verzeichnis in das installiert wird muss im Übrigen usr/local/addons/solvis heißen.
Mit Hilfe meines Installateurs und von Solvis habe ich auch die Datenpunkte zuordnen können.
Unten entsprechend die TCL-Datei.
Jetzt mein aktuelles Problem:
Das Script funktioniert prima, die Variablen werden gefüllt. Aber heute haben wir zum ersten Mal Minustemperaturen und jetzt zeigt mir die Variable für die Außentemperatur einen „etwas“ unrealistischen Wert : 6553.0 C , bei aktuell -1,7°C Außentemperatur.
Da ich selber bei TCL und der Umwandlung von hex in Dezimal passen muss, hier meine Frage in die Community: wie muss ich das Script für den Wert Außentemperatur (nur hier kann es ja zu Minustemperaturen kommen) anpassen, damit ein richtiger Wert geloggt wird?
Danke für die Hilfe
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 Solvis-Heizungs-Vorlauftemp_HK2 Pos 85 - 88 AtoH value/10 [°C]
# S14v unbelegt Pos 89 - 92
# S15v unbelegt Pos 93 - 96
# S16v Solvis-Heizungs-Vorlauftemp_HK3 Pos 97 - 100 AtoH value/10 [°C]
# 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-Zirkulationspumpe Pos 141 - 142 0=AUS; 1=EIN
# A2v Solvis- Pos 143 - 144 0=AUS; 1=EIN
# A3v Solvis-HK1-Pumpe Pos 145 - 146 0=AUS; 1=EIN
# A4v Solvis-HK2-Pumpe Pos 147 - 148 0=AUS; 1=EIN
# A5v Solvis-HK3-Pumpe Pos 149 - 150 0=AUS; 1=EIN
# A6v Solvis- 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
set url http://solvis:solvis@192.168.177.80/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
set S1v [expr ([wertergebnis [string range $input 37 40]] + 0.1) /10 - 0.01]
#S1v Solvis-Warmwasserpuffer
set S2v [expr ([wertergebnis [string range $input 41 44]] + 0.1) /10 - 0.01]
#S2v Solvis-Warmwassertemp
set S3v [expr ([wertergebnis [string range $input 45 48]] + 0.1) /10 - 0.01]
#S3v Solvis-Speicherreferenz
set S4v [expr ([wertergebnis [string range $input 49 52]] + 0.1) /10 - 0.01]
#S4v Solvis-Heizungspuffer_oben
set S5v [expr ([wertergebnis [string range $input 53 56]] + 0.1) /10 - 0.01]
#S5v Solar-Vorlauf2
set S6v [expr ([wertergebnis [string range $input 57 60]] + 0.1) /10 - 0.01]
#S6v Solar-Rücklauf
set S7v [expr ([wertergebnis [string range $input 61 64]] + 0.1) /10 - 0.01]
#S7v Solar-Vorlauf1
set S8v [expr ([wertergebnis [string range $input 65 68]] + 0.1) /10 - 0.01]
#S8v Solar-Kollektortemp
set S9v [expr ([wertergebnis [string range $input 69 72]] + 0.1) /10 - 0.01]
#S9v Solvis-Heizungspuffer_unten
set S10v [expr ([wertergebnis [string range $input 73 76]] + 0.1) /10 - 0.01]
#S10v Solvis-Außentemp
set S11v [expr ([wertergebnis [string range $input 77 80]] + 0.1) /10 - 0.01]
#S11v Solvis-Zirkulationstemp
set S12v [expr ([wertergebnis [string range $input 81 84]] + 0.1) /10 - 0.01]
#S12v Solvis-Heizungs-Vorlauftemp_HK1
set S13v [expr ([wertergebnis [string range $input 85 88]] + 0.1) /10 - 0.01]
#S13v Solvis-Heizungs-Vorlauftemp_HK2
#set S14v [expr ([wertergebnis [string range $input 89 92]] + 0.1) /10 - 0.01]
#unbenutzt
set S15v [expr ([wertergebnis [string range $input 93 96]] + 0.1) /10 - 0.01]
#Solvis-Kaltwassertemperatur: $S15v
set S16v [expr ([wertergebnis [string range $input 97 100]] + 0.1) /10 - 0.01]
#S16v Solvis-Heizungs-Vorlauftemp_HK3
set S17v [wertergebnis [string range $input 105 108]]
#S17v Solar-Durchfluss
set S18v [wertergebnis [string range $input 101 104]]
#S18v Solvis-Warmwasser_Durchfluss
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]]
#AO1 Solvis-Brenner
set AO2 [wertergebnis [string range $input 125 128]]
#AO2 Solvis-Warmwasserpumpe
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]
#RF2 Raumfühler2
#set RF3 [expr ([wertergebnis [string range $input 145 148]] + 0.1) /10 - 0.01]
#RF3 Raumfühler3
set A1v [ausein [string range $input 141 142]]
#A1v Solvis-Zirkulationspumpe
set A2v [ausein [string range $input 143 144]]
#A2v unbenutzt
set A3v [ausein [string range $input 145 146]]
#A3v Solvis-HK1-Pumpe
set A4v [ausein [string range $input 147 148]]
#A4v Solvis-HK2-Pumpe
set A5v [ausein [string range $input 149 150]]
#A5v Solvis-HK3-Pumpe
set A6v [ausein [string range $input 151 152]]
#A6v HK3_Mischer_auf
set A7v [ausein [string range $input 153 154]]
#A7v HK3_Mischer_zu
set A8v [ausein [string range $input 155 156]]
#A8v HK1_Mischer_auf
set A9v [ausein [string range $input 157 158]]
#A9v HK1_Mischer_zu
set A10v [ausein [string range $input 159 160]]
#A10v HK2_Mischer_auf
set A11v [ausein [string range $input 161 162]]
#A11v HK2_Mischer_zu
set A12v [ausein [string range $input 163 164]]
#A12v Solvis-Brenner
set A13v [ausein [string range $input 165 166]]
#puts "A13v: $A13v - ([string range $input 165 166])"
#set A14v [ausein [string range $input 167 168]]
#A14v Solvis-Entstörung - nicht genutzt
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]
#SLv Solarthermie-Leistung
set SLv1 [expr ([wertergebnis [string range $input 224 227]] + 0.1) /10 - 0.01]
set SLv2 [expr ([wertergebnis [string range $input 228 231]] + 0.1) /10 - 0.01]
set SLv3 [expr ([wertergebnis [string range $input 232 235]] + 0.1) /10 - 0.01]
# 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('Solar-Vorlauf2').State($S5v);"
append rega_cmd "dom.GetObject('Solar-Ruecklauf').State($S6v);"
append rega_cmd "dom.GetObject('Solar-Vorlauf1').State($S7v);"
append rega_cmd "dom.GetObject('Solar-Kollektortemp').State($S8v);"
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_HK1').State($S12v);"
append rega_cmd "dom.GetObject('Solvis-Heizungs-Vorlauftemp_HK2').State($S13v);"
#append rega_cmd "dom.GetObject('Solvis-Entstoerung').State($A14v);"
append rega_cmd "dom.GetObject('Solvis-Kaltwassertemperatur').State($S15v);"
append rega_cmd "dom.GetObject('Solvis-Heizungs-Vorlauftemp_HK3').State($S16v);"
append rega_cmd "dom.GetObject('Solar-Durchfluss').State($S17v);"
append rega_cmd "dom.GetObject('Solvis-Warmwasser_Durchfluss').State($S18v);"
append rega_cmd "dom.GetObject('Solvis-RF3').State($RF1);"
append rega_cmd "dom.GetObject('Solar-Ertrag').State($SEv);"
append rega_cmd "dom.GetObject('Solarthermie-Leistung').State($AI2);"
append rega_cmd "dom.GetObject('Solvis-Zirkulationspumpe').State($A1v);"
append rega_cmd "dom.GetObject('Solvis-HK1-Pumpe').State($A3v);"
append rega_cmd "dom.GetObject('Solvis-HK2-Pumpe').State($A4v);"
append rega_cmd "dom.GetObject('Solvis-HK3-Pumpe').State($A5v);"
append rega_cmd "dom.GetObject('Solvis-HK3_Mischer_auf').State($A6v);"
append rega_cmd "dom.GetObject('Solvis-HK3_Mischer_zu').State($A7v);"
append rega_cmd "dom.GetObject('Solvis-HK1_Mischer_auf').State($A8v);"
append rega_cmd "dom.GetObject('Solvis-HK1_Mischer_zu').State($A9v);"
append rega_cmd "dom.GetObject('Solvis-HK2_Mischer_auf').State($A10v);"
append rega_cmd "dom.GetObject('Solvis-HK2_Mischer_zu').State($A11v);"
append rega_cmd "dom.GetObject('Solvis-Brenner').State($AO1);"
append rega_cmd "dom.GetObject('Solvis-Warmwasserpumpe').State($AO2);"
rega_script $rega_cmd
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
- Black
- Beiträge: 5471
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 419 Mal
- Danksagung erhalten: 1071 Mal
- Kontaktdaten:
Re: CCU2 und Solvis Remote ?
Sowa habe ich in der Formatierung bei meiner buderus auch gehabt. Unsigned word vs Signet integer.
If (temp>=3276. {temp=temp - 6553.5;}
Die Zeile sollte dein Problem lösen. Bei negativ ist msb gesetzt.
Black
If (temp>=3276. {temp=temp - 6553.5;}
Die Zeile sollte dein Problem lösen. Bei negativ ist msb gesetzt.
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 295
- Registriert: 12.07.2017, 21:08
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 14 Mal
Re: CCU2 und Solvis Remote ?
Danke, ich hatte auch schon vermutet, dass es sich um einen festen Wert handelt, um den das Ergebnis zu korrigieren ist, hätte aber lange Raumproblemen müssen, um das rauszubekommen.
Frage: kann ich das direkt im tcl-Script anlegen?
Ich habe jetzt zunächst ein separates ccu-Programm geschrieben, dass immer ausgelöst wird, wenn der Wert > 100 Grad wird ( im Zuge der Erderwärmung habe ich einen sicheren Grenzwert gewählt )
! #Korrektur Variable Außentemperatur bei Werten unter null
var temp = dom.GetObject('Solvis-Aussentemp');
if (temp>=3276. {temp=temp - 6553.5;};
dom.GetObject('Solvis-Aussentemp').State(temp);
Frage: kann ich das direkt im tcl-Script anlegen? Bzw. Ich habe es zunächst dort so angegeben, das schien aber nicht zu funktionieren.
Frage: kann ich das direkt im tcl-Script anlegen?
Ich habe jetzt zunächst ein separates ccu-Programm geschrieben, dass immer ausgelöst wird, wenn der Wert > 100 Grad wird ( im Zuge der Erderwärmung habe ich einen sicheren Grenzwert gewählt )
! #Korrektur Variable Außentemperatur bei Werten unter null
var temp = dom.GetObject('Solvis-Aussentemp');
if (temp>=3276. {temp=temp - 6553.5;};
dom.GetObject('Solvis-Aussentemp').State(temp);
Frage: kann ich das direkt im tcl-Script anlegen? Bzw. Ich habe es zunächst dort so angegeben, das schien aber nicht zu funktionieren.
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
- Black
- Beiträge: 5471
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 419 Mal
- Danksagung erhalten: 1071 Mal
- Kontaktdaten:
Re: CCU2 und Solvis Remote ?
probier mal an der passenden stelle im tcl script so:
Black
Code: Alles auswählen
append rega_cmd "if ($S10v >100.0) {dom.GetObject('Solvis-Aussentemp').State($S10v - 6553.5);} else {dom.GetObject('Solvis-Aussentemp').State($S10v);}"
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 295
- Registriert: 12.07.2017, 21:08
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 14 Mal
Re: CCU2 und Solvis Remote ?
Danke, habe das so einmal in das Script eingetragen. Scheint zu funktionieren, dh. Zumindest läuft das Script durch. Ob die Konvertierung passt, kann ich derzeit aufgrund von plus-Temperaturen nicht sagen, aber ich gehe davon aus.
Schönen Sonntag noch
Schönen Sonntag noch
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