FHEM - Anwendungen > Heizungssteuerung/Raumklima

Ansteuerung SolvisMax/Solvis-Remote

<< < (2/39) > >>

IBirner:
Hallo Zusammen,

mittlerweile ist mir auch die Ansteuerung geglückt. Einfach die Funktion unten einfügen und mit dem jeweiligen Übergabeparameter aufrufen.

Kann man mit Sicherheit schöner umsetzen - aber so funktioniert es  ;)

Viel Spaß damit,
Ingo


--- Code: ---sub
SolvisHeizungCtrl($)
{
   my ($todo) = @_;
   my $xpos = 0;

   my $browser = LWP::UserAgent->new('Mozilla');
   $browser->credentials('ip:80', 'SolvisRemote', 'user', 'pass');

   # auf Heizungsbedienung umstellen - zur Sicherheit zweimal wegen Startbildschirm
   my $response=$browser->get('http://192.168.178.35/Touch.CGI?x=50&y=25');
   sleep(1);
   $response=$browser->get('http://192.168.178.35/Touch.CGI?x=510&y=510');
   sleep(2);
   $response=$browser->get('http://192.168.178.35/Touch.CGI?x=50&y=25');
   sleep(1);
   $response=$browser->get('http://192.168.178.35/Touch.CGI?x=510&y=510');
   sleep(2);

   if ( $todo eq "Day" )
   {
      # Tagbetrieb
      $xpos=200;
   }

   if ( $todo eq "Night" )
   {
      # Nachbetrieb
      $xpos=260;
   }

   if ( $todo eq "Off" )
   {
      # Heizung aus
      $xpos=320;
   }

   # Modus umschalten
   $response=$browser->get('http://192.168.178.35/Touch.CGI?x='.$xpos.'&y=220');
   sleep(1);
   $response=$browser->get('http://192.168.178.35/Touch.CGI?x=510&y=510');

   # Log
   Log 1, "Solvis-Status: Heizungsmodus auf $todo";
}

--- Ende Code ---

jhs:
Hallo,

vielen Dank an den Autor !
Anmerkung:
DAS hatte mir noch gefehlt, die Einbindung der solvis (Remote) an Fhem. Kennt Ihr ja wahrscheinlich auch das Problem, dass der (Oel-) Brenner irgendwann mal statistisch gesehen zur absoluten Unzeit nicht anspringt:
Erste (Ab)hilfe ist dann meistens Neu-Start des Brenners/der Heizung.
Das hatte ich bisher ohne dieses Modul mit einer DECT200 von AVM via FritzBox/Fhem lösen können (Heizung-Power OFF|ON-cycle, =Radikal-Reset).
Jetzt geht das natürlich etwas schonender mit diesem Modul bzw. Solvis-Remote und nun ist das eine Hosenträger+Gürtel-Lösung ;-)

Frage:
Was kann man als Alarm benutzen, um frühzeitig eine Störung der Heizung zu erkennen ?
Ich habe ich bisher einen Heizungsausfall (immer erst spät) über Fhem-Alarm über die abgesunkenen Zimertemperaturen erfahren, um dann eben auch  erst spät Abhilfemassnahmen einleiten zu können,

Anmerkung dazu:
Das Signal SolvisMax.A14.Entstoerung habe ich bisher nicht richtig interpretieren können:
bei Anlage 1 (Oel) kein Signalwechsel, obwohl Abschaltung vorlag mit Anzeige Störung auf dem Display
bei Anlage 2 (Gas, @Nachbarn) toggelt dieses Signal "sinnfrei", und die Anlage läuft dabei ohne erkennbare Störung
Als Notbehelf für Störungserkennung frage ich z.Z. SolvisMax.S1.Speichertemperatur.oben auf <40 bei "&& IF draussen KALT" ab.
Quick an dirty.

Tipp:
Ansonsten habe ich damit auch schon einen Marderbiss am Temp.fühler der Kollektoren bemerken können:
wenn die Werte für diesen Fühler (Aussentemperatur dito.) völlig "daneben" sind, ist ein Alarm über dieses Modul sehr nützlich.
Wann merkt man sonst um diese Jahreszeit, dass mit dem Temp.fühler der Solaranlage etwas nicht stimmt ?!
Vielleicht liest Solvis hier ja mit und die geben selbst in solchen Fällen ein schlüssiges Störungs-Flag raus, auswertbar über Solvis-Remote (und damit über das Modul)

Nochmals: Danke für dieses Modul !

jhs

SCMP77:
Hallo,

ich habe ein Modul für die SolvisMax geschrieben, wo das Http-Polling im Hintergrund stattfindet und so Fhem kaum beeinflusst. Auch der DB-Log sollte unterstützt werden, mangels Logging-DB habe ich das aber nicht voll testen können. Wer eine Log-Datenbank nutzt, kann mir ja mal sagen, ob dort die Events richtig mit Einheit abgelegt werden.

Aktuell werden nur die Werte in Readings fortlaufend ausgelesen, die Steuerung der Anlage (wie die Lösung von IBirner) ist momentan NOCH NICHT implementiert, wird aber in den nächsten Wochen noch kommen.

Die integrierte HTML-Doku ist aktell nur auf Deutsch, die werde ich in Zukunft in Englisch übersetzen.


Einrichten geht wie üblich über "define <Gerätename> SolvisMax <ip-Adresse>"

User und Password können dann anschließend über die Web-Oberfläche mittels der Set-Kommandos "set User" und "set Password" eingegeben werden.
Weitere Set-Befehle, Attribute können aus der HTML-Doku des Moduls entnommen werden. Die werden dann verschlüsselt abgelegt.

Das Anlegen von Dummies ist nicht mehr nötig, die Readings werden vom Modul wie üblich selber generiert.


Ein bekanntes Problem gibt es an meiner Anlage, alle 1000 Abfragen (ich polle alle 12s zum testen seit mehreren Wochen) nimmt meine Solvis-Anlage die Polling-Abfrage nicht entgegen und weist diese mit einem Authetifizierungs-Fehler ab. Aber für die Funktion des Moduls hat das keinen Bedeutung, da es bei der nächsten Abfrage wieder klappt. In der Log-Datei ist dann ein entsprechender Eintrag zu finden. Könnt mir ne PM schicken, ob Ihr auch das Problem bei Euch seht.

Wundert Euch nicht, dass das Modul nicht unbeding Perl-Like geschrieben wurde. Es ist mein erstes Perl-Programm (und zugegebenermaßen wird Perl auch bestimmt nicht meine Lieblings-Programmiersprache werden) , ich programmiere sonst hauptsächlich in Java,  C, C++ und Python, daher nutze ich nicht unbedingt alle Perl-Spezialitäten.

Viel Spaß damit.

Gruß
   SCMP77

jhs:
Hallo,

ich habe testweise gleich mal das neue Modul  73_SolvisMax.pm  installiert, als Ersatz für die weiter oben beschriebene Lösung 99_UtilsSolvisRemote.pm  (wg. dem bg-polling in dem neuen Modul) . Auch dieses neue Modul 73_SolvisMax.pm  funktioniert, wie beschrieben und zu erwarten.

Noch eine Verständnisfrage:
wie kann man User-PW so ablegen, damit Fhem damit ein 'shutdown restart' bzw. 'rereadcfg' übersteht, d.h. nach Neustart wieder automatisch in den  'state connected' mit der SolvisRemote  geht ?

Anmerkung 1 Auswertung von Störungen an der Solvis-Anlage

--- Zitat ---Ich bin gespannt auf Deine OCR-Auswertung des Bildschirms auf der "Suche" nach Störungsmeldungen, um damit  baldmöglichst per Fhem Störungen an der SolvisAnlage zu erkennen. Wie gesagt, das Signal A14.Entstoerung ist dafür nicht verwendbar und erst neuere Netzplatinen (Einführung in 2012) bieten die Möglichkeit, ein entsprechendes 12V Signal als Alarmausgang auszuwerten.
Da fände ich Deine Umsetzung von OCR von Fehlermeldungen an der Konsole wesentlich besser, weil das auf allen Anlagen mit SolvisRemote ohne  Eingriffe m System genutzt werden kann. Es gibt bei dieser OCR-Lösung  wohl keine überfüssige Diskussion mit "Zuständigkeiten" , wer Störungen verursacht haben könnte.
--- Ende Zitat ---

Anmerkung 2 Nachführen der Uhr

--- Zitat ---Es ist für mich nicht ganz nachvollziehbar, warum in der Funktionalität der SolvisRemote keine Nachführung der Solvis-Systemuhr aus dem Internet erfolgt bzw. nicht implementiert ist. Vielleicht weiss einer der Entwickler, wie man auch das von Fhem aus elegant lösen könnte. Die eingebaute Anlagen-Hardwareuhr driftet doch ziemlich stark.
--- Ende Zitat ---

Anmerkung 3  Praxistipp Störungsuhrsache (SolvisMax/Oel)

--- Zitat ---Austauschteile wie Brennerdüse und Zündelektroden gehören ja zum Standardaustausch-Material im Rahmen der Wartungsarbeiten, oder als vorbeugende Massnahme bei Reparaturen. Nach längerer Störungsursachensuche haben sich bei unserer Heizung die beiden Magnetventile als letztendlich defekt erwiesen, d.h. als Ursache für temporäres zufälliges Nicht-Starten des Brennvorganges. Erkennbar war der Fehler an Haarrissen im Gehäuse dieser Ventile.
--- Ende Zitat ---

Vielen Dank an den/die Modul-Entwickler !! Eine tolle und sinnvolle Erweiterung der Solvisremote-Funktionalität, mit Spielraum "nach oben" ;-)

Gruss
jhs

SCMP77:
Hallo,

hatte eigentlich gedacht, dass ich gestern die Antwort schon abgeschickt hätte, aber vielleicht hatte ich nach der Vorschau nicht auf "Schreiben" gedrückt.


--- Zitat von: jhs am 09 Februar 2016, 17:26:58 ---Noch eine Verständnisfrage:
wie kann man User-PW so ablegen, damit Fhem damit ein 'shutdown restart' bzw. 'rereadcfg' übersteht, d.h. nach Neustart wieder automatisch in den  'state connected' mit der SolvisRemote  geht ?
--- Ende Zitat ---

Das sollte einen Restart oder Boot auf jeden Fall überstehen oder macht das bei Dir Probleme? Es arbeitet nach dem setKeyValue/getKeyValue-Verfahren wie es auch das FritzBox-Modul nutzt (habe ich von dort geklaut  ;)). Dabei wird direkt in eine Datei Boot- und Restart-geschützt das Passwort und der User verschlüsselt eingetragen.  Kein 100%iger Schutz aber wenigsten nicht direkt lesbar.

Zu Anmerkung 1:
Das werde ich in der nächsten Version eingebaut haben. Das ist für mich die Voraussetzung, für eine Fernbedienung der Konsole durch FHEM. Denn wenn der Fehler dabei nicht erkannt wird, kann es passieren, das ungewollt mehrfach der Brenner trotz Störung versucht wird zu starten. Das ist aus Sicherheitsgründen zu vermeiden. Die Frage, die momentan noch offen ist, wie der Fehler in FHEM angezeigt wird. Sinnvoll wäre es, dass man wirklich das Image der SolvisConsole im Fehlerfall in der Web-Oberfläche angezeigt wird. Dazu muss ich mich noch mit den auf die HTTP-Möglichkeiten der Fhem-Weboberfläche beschäftigen. In der nächsten Version gibt es dann nur eine Meldung, wenn ein Fehler der Heizungsanlage vorliegt. Welche es wirklich ist, muss man dann an der Console selber oder über das normale WebInterface der SolvisMax-Heizung ansehen.

Zu Anmerkung 2:
Nachführung der Uhr wäre sicherlich in der 3. Ausbaustufe auch über FHEM möglich, da habe ich ja vor ein Mini-OCR für Zahlen mit Vorzeichen und Komma-Stelle einzubauen, die aktuelle Zeit der SolvisMax kann das Modul darüber dann auch erkennen und entsprechend korrigieren. Aber sekundengenau wird das nicht, da man an der Solvis-Anlage nur die Minuten nachstellen kann, die Sekunden laufen einfach unbeirrt weiter.

Gruß
    SCMP77

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln