CCU2 und Solvis Remote ?

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

whoami
Beiträge: 7
Registriert: 03.10.2016, 21:26

CCU2 und Solvis Remote ?

Beitrag von whoami » 15.10.2016, 17:25

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

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

Beitrag von alchy » 15.10.2016, 23:17

Das sind sehr wenig Informationen, die du da bietest.
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.

whoami
Beiträge: 7
Registriert: 03.10.2016, 21:26

Re: CCU2 und Solvis Remote ?

Beitrag von whoami » 15.10.2016, 23:45

Bild

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

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

Beitrag von alchy » 16.10.2016, 01:38

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.
Von "Website im Sekundentakt per CURL einzulesen" :shock: (zumindest von der CCU aus), kann ich nur abraten. Warum so übertrieben?

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.

whoami
Beiträge: 7
Registriert: 03.10.2016, 21:26

Re: CCU2 und Solvis Remote ?

Beitrag von whoami » 16.10.2016, 08:16

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

whoami
Beiträge: 7
Registriert: 03.10.2016, 21:26

Re: CCU2 und Solvis Remote ?

Beitrag von whoami » 16.10.2016, 08:23

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

whoami
Beiträge: 7
Registriert: 03.10.2016, 21:26

Re: CCU2 und Solvis Remote ?

Beitrag von whoami » 18.10.2016, 18:29

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

ele
Beiträge: 35
Registriert: 01.12.2014, 12:18

CCU2 und Solvis Remote ?

Beitrag von ele » 24.01.2017, 09:04

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
Hallo whoami,

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

Llewellyn
Beiträge: 16
Registriert: 16.03.2016, 16:19

Re: CCU2 und Solvis Remote ?

Beitrag von Llewellyn » 30.03.2017, 19:14

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

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
Das zweite Script (Auslesen der virtuellen CUxD-Kanäle in Systemvariablen) ist:

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

Garbsen
Beiträge: 295
Registriert: 12.07.2017, 21:08
Hat sich bedankt: 1 Mal
Danksagung erhalten: 14 Mal

Re: CCU2 und Solvis Remote ?

Beitrag von Garbsen » 24.06.2019, 14:42

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

Antworten

Zurück zu „HomeMatic allgemein“