Ansteuerung SolvisMax/Solvis-Remote

Begonnen von IBirner, 12 Oktober 2014, 21:28:25

Vorheriges Thema - Nächstes Thema

SCMP77

#105
Hallo,

lange hat es gedauert, hier nun die neue Version 1.00.12.

Die base.xml ist anzupassen (Passwörter sind nun laut Manual zu verschlüsselt,  Feature ,,ClearErrorMessageAfterMail" ist neu). Ein Learning ist wieder notwendig (sudo make learn). Außerdem ist ein Fhem-Neustart erforderlich, da auch der Client geändert wurde.

Da ich das Logging auf TinyLog umgestellt habe, ist das Jar-File nun um 2 MByte kleiner geworden (vorher 3,4 MByte, nun 1,4 MByte, nicht wundern). Der Name der Logging-Datei hat sich dadurch etwas geändert. Er lautet nun "solvis-tiny.log.n".

Die ausführlichen Änderungen findet Ihr in der CHANGES.txt. Hier die Zusammenstellung der wesentlichen Änderungen seit 1.00.01:


  • Passwörter sind nun verschlüsselt.
    Das verschlüsselte Password kann man mit dem Make-Befehl "sudo make crypt" erstellen und dann in die base.xml eintragen (siehe auch Doku).
  • Wegen Modbus ist im Url der Anlage "http://" zu entfernen.
  • Der Betrieb mit zwei Heizkreisen ist nun ertüchtigt.
  • Das Paket enthält anstelle der base.xml eine base.xml.new. Auf diese Weise kann nicht mehr versehentlich die angepasste base.xml beim Einfügen des Pakets überschrieben werden. Außerdem gibt es so auch einfachere Vergleichsmöglichkeiten.
  • Mailversand im Fehlerfall.
  • Weiteres Feature-Flag "ClearErrorMessageAfterMail".
    Wenn true:
    Nach dem erfolgreichen Versand der Mail mit der Hardcopy des Fehlermeldung wird der Meldungsbildschirm auf der Solvis-Anlage mit der Taste < weggeklickt. Dadurch ist anschließend die GUI-Steuerung wieder möglich. Der Fehlerstatus wird erst gelöscht, wenn auf dem Homescreen der Fehlermeldungs-Button verschwunden ist und Zeit und Datum wieder angezeigt wird. Dies ist das Kriterium der Anlage, dass auch der Fehler wirklich beseitigt ist.
  • Ein Random-Dauertest hat gezeigt, dass die Einstellung der Tag-/Nacht-Solltemperatur dazu führen kann, dass der Anlagenmodus umgestellt wird. Das lange Drücken der Taste wird von der Solvis-Anlage manchmal als kurzes interpretiert, was zur Folge hat, dass der Anlagenmodus umgestellt wird. Daher wird nun vor Ausführung dieser Befehle der aktuelle Anlagenmodus abgespeichert und nach der Ausführung der Befehle wieder restauriert.
    Das war bisher nicht aufgefallen, weil man normalerweise diese Temperatur meist nur ändert, wenn die Anlage in diesem Modus (Tag/Nacht) schon ist.
  • Server-Command UPDATE_CHANNELS hinzugefügt. Mit diesem Server-Befehl werden sämtliche GUI-Channels aktualisiert.
  • Xml-Steuerfiles besser bzgl. inhaltlicher Fehler überwacht. Diese werden direkt nach dem Start gemeldet.
  • Die Logging-Library log4j2 habe ich durch TinyLog ersetzt. Dadurch ist die Jar-Datei deutlich kleiner geworden (vorher: 3,4MByte, nun 1,4MByte)
  • Bildschirmschoner-Erkennung an die SolvisControl-Version angepasst, bei der die Bildschirmschoner-Grafik etwas anders ist. Siehe Bild unten.

Die neue Version ist nun wieder ganz normal im Anhang, vermutlich ist das wieder wegen der geringeren Größe möglich.

Viele Erfolg damit!

Viele Grüße
   Stefan

PS: Der Bug in der Bildschirmschoner-Erkennung ist behoben. Die Version ist aktualisiert.
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

#106
Hallo,

ich habe eine neue Version 01.00.15 erstellt.

In dieser Version ist ein schwerwiegender Bug gefixt. Hat der Client ein fehlerhaftes JSON-Paket empfangen, konnte es sein (je nach JSON-Library-Version), dass nicht nur der Client sondern  auch FHEM abstürzt!. Fehlerhafte JSON-Pakete entstehen in der alten Server-Version dann, wenn der XML-String der Solvis-Anlage nicht komplett transferiert wurde, aber auch nur dann, wenn sich im folgenden XML-Paket sich übertragende Werte geändert haben. Die Fehlerbehandlung war hier nicht ausreichend durchdacht.

Weiter ist zu beachten, dass sich die Durchnummerierung der berechneten Werte (X1 ... X9 geändert hat. Sie ist jetzt zweistellig (X01 ... X10). Bitte bei FHEM-Scripten, FHEM-Events oder Diagrammen beachten!

Das base.xml-File ist anzupassen. Der Mailversand ist standardmäßig nun deaktiviert. Er muss erst über das Feature ,,SendMailOnError" freigeschaltet werden.

Außerdem wurde das Feature ,,HeatingBurnerTimeSynchronisation" in ,,EquipmentTimeSynchronisation" umbenannt, da die Zeitsynchronisation auch für die sekundengenaue Laufzeit der Solarpumpen gilt, nicht mehr nur für den Brenner.

Ein Learning ist wieder notwendig (sudo make learn). Außerdem ist ein Fhem-Neustart erforderlich, da auch der Client geändert wurde.

Zusätzlich sind folgende Änderungen/Erweiterungen seit der Version 01.00.12 erfolgt:

  • Die Laufzeiten der Solarpumpen werden nun aus dem Solvis-GUI ermittelt. Bei einer Anlage mit einem externen Plattenwärmetauscher und zwei Solarpumpen (gesteuert über A01 und A07) muss in der base.xml das Atrtribut "configOrMask" auf den Wert 0x10 gesetzt werden.
  • Die WW-Zirkulationspumpe ist nun steuerbar (Puls/Zeit-Betrieb).
  • Mailversand sollte nun ohne Verschlüsselung möglich sein (noch nicht getestet).

Die kompletten Änderungen findet Ihr in der CHANGES.txt.

Viele Grüße
    Stefan

Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

#107
Hallo,

Asche auf mein Haupt.

Durch ein Fehler ist in die am 12.Juni veröffentlichtes Programmpaket ein fehlerhafter FHEM-Client mit einem schweren Bug eingepackt  gewesen (SET funktioniert nur bei boolschen Werten).

Das korrigierte Paket ist nun im Anhang.

Vielel Grüße
     Stefan

PPS: Wer schon das paket 01.00.15.zip installiert hatte, muss nur den FHEM-Client aktualisieren mittels folgendem Make-Befehls:

Zitatsudo make installFHEM
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

Hallo,

es gibt eine neue Version des SolvisSmartHomeServers.

Die Verteilung von neuen Versionen erfolgt in Zukunft über GitHub. Dort ist auch der Source-Code einsehbar.

Hier der Link zum Projekt auf GitHub:
https://github.com/GollmerSt/SolvisSmartHomeServer

Hier der direkte Link zum Release V01.01.02:
https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.01.02-modbus-alpha-mqtt-beta

Beginnend mit dieser Version beinhaltet ein Release Installationspakete sowohl für Linux als auch für Windows.

Folgende wesentlichen Änderungen sind seit V01.00.15 erfolgt:


  • Durch ein Schreibfehler in der control.xml wurden die Kanäle C05.WassertemperaturSoll und C07.Tagestemperatur_HK1 nicht mehr ausgelesen und konnten auch nicht mehr verändert werden
  • Der SET-Befehl des FHEM-Client funktionierte nur bei Boolean-Werten.
  • MQTT-Schnittstelle zusätzlich implementiert, da die bisherige Server-Cleint-Schnittstelle einen propritäre Lösung ist
  • Echo inhibit realisiert. Wenn innerhalb der echoInhibitTime_ms der gleiche Wert erneut vom Client gesetzt wird, wird er ignoriert. Sinnvoll dann, wenn der Einsteller (z.B. Schieberegler) in einem SmartHomeSystem gleichzeitig der Anzeige dient.

Eine genauere Auflistung findet man in der Datei CHANGE.txt, welche den Installationspaketen beiliegt.

Die ersten zwei Bugs sind schwerwiegend und existieren seit Version 01.00.15.

Es ist wieder ein Learning notwendig, ein paar Anpassungen in der base.xml-Datei ebenfalls und zwar sind die Attribute releaseBlockingAfterUserAccess_ms und  releaseBlockingAfterServiceAccess_ms des Objekts Unit.

Wer die MQTT-Schnittstelle nutzen will, muss noch das Mqtt-Objekt hinzufügen.

Es ist auch der Fhem-Client auszutauschen.

Unter Linux sind daher folgende Aufrufe notwendig:
sudo make installFHEM
sudo make learn


Es ist mein erstes Projekt, das ich über GitHub verteile. Meldet Euch daher möglichst rasch, wenn irgendwelche Zugriffe nicht funktionieren oder etwas in den Paketen fehlt.

Die Seite ist momentan auch noch recht nackt, ich werde sie peu à peu mit weiteren Infos versehen, vermutlich werde ich dort  zumindest Teile des PDF-Dokuments veröffentlichen.

Viel Erfolg
     Stefan
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

#109
Hakllo,

ich habe einen neuen Release erstellt und auf GitHub abgelegt. Es ist unter folgendem Link zu finden:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.02.00-modbus-alpha-mqtt-beta

Folgende wesentliche Änderungen sind seit der Version V01.01.02 erfolgt:


  • Lernalgorithmus von Solvis-Bildschirmen wurde überarbeitet
  • Einige Dateien im Linux-Paket enthielten falsche EOL-Zeichen. Die Paketgenerierung wurde entspechend korrigiert.
  • Das Makefile wurde um den Aufrufparameter "uninstallAll" erweitert. Dadurch werden alle Dateien (die auch vom SolvisSmartHomServer selbst generiert wurden) gelöscht.
  • Die Verschlüsselungsfehlermeldungen wurden verbessert.

Eine vollständige Übersicht über den Änderungsverlauf findet Ihr in der Datei CHANGES.txt.

Installationshinweise etc. befinden sich nun in der Wiki:

https://github.com/GollmerSt/SolvisSmartHomeServer/wiki

Es ist wieder ein Learning notwendig, unter Linux mittel sudo make learn unter Windows über den Eintrag Learn im Startmenü.

Viel Erfolg
     Stefan


Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

#110
Hallo,

ich habe ein neues Release erstellt und auf GitHub abgelegt. Es ist unter folgendem Link zu finden:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.02.01-modbus-alpha-mqtt-beta

Folgende wesentliche Änderungen sind seit der Version V01.02.00 erfolgt:

  • Das Learning muss nicht mehr von Hand angestoßen werden, wenn es erforderlich ist, erfolgt es automatisch bei Start des Servers.
  • Die Screenshots des letzten Learning werden im Verzeichnis "LearnedImages" mit einem entsprechenden Namen abgelegt.  Dadurch ist keine Beobachtung während des Lernvorganges mehr notwendig und eine  Analyse (bei einer bisher noch nicht getesteten Konfiguration der Solvis-Anlage) viel einfach als bisher möglich.
  • Setz-Vorgänge, welche länger dauern, können vorzeitig abgebrochen werden.
  • Screenshots von Solvis-Anlagen-Fehlern werden in den Ordner "SolvisErrorImages" abgelegt.
  • Nach der Power-On-Erkennung werden sämmmtliche Sollwerte erneut gelesen.
Eine vollständige Übersicht über den Änderungsverlauf findet Ihr in der Datei CHANGES.txt.

Installationshinweise etc. befinden sich in der Wiki:

https://github.com/GollmerSt/SolvisSmartHomeServer/wiki

Es reicht unter Linux ein "sudo make update",  unter Windows reicht ein drüber installieren um die Version zu aktualisieren.

Viel Erfolg
     Stefan
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

Hallo,

Das gestrige Release lief noch nicht ganz rund. Ich habe daher die Version V01.02.02 erstellt und auf GitHub abgelegt. Es ist unter folgendem Link zu finden:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.02.02-modbus-alpha-mqtt-beta

Folgende wesentliche Änderungen sind seit der Version V01.02.01 erfolgt:

  • BugFix: Das Learning wurde nicht in allen erforderlichen Fällen automatisch angestoßen.
  • BugFix: Nach Ende des Clock-Adjustment trat eine Nullpointer-Exception auf.
  • Die Images, welche beim Learning abgespeichert werden, wurden erweitert.
    Die Bildschirmbereiche, welche zur Identifikation herangezogen werden, werden nun zusäztlich gespeichert.
  • Mit Hilfe der obigen Änderung wurden die Bildschirmbereiche noch optimiert.

Eine vollständige Übersicht über den Änderungsverlauf findet Ihr in der Datei CHANGES.txt.

Installationshinweise etc. befinden sich in der Wiki:

https://github.com/GollmerSt/SolvisSmartHomeServer/wiki

Es reicht unter Linux ein "sudo make update",  unter Windows reicht ein drüber installieren um die Version zu aktualisieren.

Viel Erfolg
     Stefan
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

schrej

Hallo,
ich habe auch einen Issue in Github geöffnet.
bei mir scheitert das Anlernen nach dem WW Anlagenstatus.
[2020-09-04 14:44:59,868] INFO Screen grafic <Anlagenstatus WW Max> learned.
[2020-09-04 14:45:03,833] INFO Screen <Anlagenstatus> not learned. White fields of the screens does not fit to the current screen.

Ich habe einen externen Brenner, den man auf der Heizkreis Anlagenstatus sieht.
Kann das das Problem sein?

Danke Jörg

SCMP77

#113
Hallo Schrej,

hatte leider heute erst Deinen Issue gesehen, da ich gestern mit einem anderen Projekt beschäftigt war.

Ich habe die Bereiche zur Heizkreiserkennung so angepasst, dass er auch zu Deiner Konfiguration passen sollte (mit externem Brenner).

Kannst Du es mal ausprobieren. Die korrigierte Version liegt als Pre-Release auf GitHub:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.02.03-rc6--mqtt-beta--3-heating-circuits-beta


Noch eine Bitte hätte ich allgemein:

Dieses Problem zeigt deutlich, dass eine Algorithmus-Änderung in der Bildanalyse zu Problemen führen kann, auch bei Anlagen, bei denen der Server vorher funktionierte. Je mehr Screenshots der unterschiedlichen Anlagen ich besitze, umso besser kann ich neue Versionen testen.

Das aktuelle PreRelease legt während des Learnings die zur Analyse notwendigen Screenshots in den Ordner

SolvisServerData/LearnedImages

ab. Wenn Ihr mir die mittels GitHub, hier im Forum oder per Mail in gepackter Form zukommen lassen könntet, wäre das super.

Viele Grüße
   Stefan
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

schrej

Hallo Stefan,
Vielen Dank.
Ich werde die Version testen.
Bei Google findest du ein Bild mit dem Extremfall 3 Heizkreise und 2 externer Brenner.
Vielleicht kannst du daraus die verschiedenen Iterationen bilden bzw. in der XML die Anzahl der Heizkreise und Brenner abfragen und dann das richtige Bild nehmen.

Viele Grüße
Jörg

schrej

Hallo Stefan,
die neue Version funktioniert einwandfrei in meiner Konstellation.
Hast du das Bild mit der maximalen Konstellation?
Ich habe es bei mir, aber kann ja hier wohl keine Bilder einfügen.
Vielen Dank und viele Grüße
Jörg

SCMP77

Hallo,

Zitat von: schrej am 05 September 2020, 16:51:28
die neue Version funktioniert einwandfrei in meiner Konstellation.

Danke für die Info.

Zitat von: schrej am 05 September 2020, 16:51:28
Hast du das Bild mit der maximalen Konstellation?

Habe ich noch nicht nach suchen können. Habe bisher nur die grobe Ansicht mal gesehen (ich glaube in irgend einem Solvis-Dokument). Aber wenn Du etwas Pixelgenaues hast, kannst Du es mir am besten gleich mit dem Inhalt des  Learning-Image-Ordners per Mail senden (die Adresse schicke ich Dir per PM).

Nicht nur der Maximalausbau bereitet manchmal Probleme sondern eben auch z.B. die Version, wenn der Wärmeerzeuger (Pellet, Wärmepumpe etc.) nicht im Kessel integriert ist. Daran hatte ich nicht gedacht.

Viele Grüße
     Stefan
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

#117
Hallo,

auf GitHub liegt eine neue Version. Hier ein kurzer Überblick über die Änderungen:

  • Solvis-Systeme mit 3 Heizkreisen werden jetzt ebenfalls unterstützt (Beta).
  • Die Ausgabe der Status der Pumpen WW A02, Solar 1 A01, Solar 2 A07 erfolgen von nun an in Prozent.
  • Die automatische Eingabe des Benutzercodes wird im Admin-Modus unterstützt.
  • Die berechneten Kanäle X ?? waren nicht glitchfrei und konnten eine so kurze Zeit fehlerhafte Zustände zeigen. Dies konnte auch zu JSON-Fehlern auf der Server-Client-Schnittstelle führen, die dazu führen, dass die Verbindung wiederhergestellt wird.
  • Modbus-Erweiterung entfernt, da nicht sinnvoll und den Code unnötig unübersichtlich macht. Die SolvisControl 3 hat kein Webinterface mehr, alles läuft über Modbus und das Solvis-Portal. Der Server bringt keinen Mehrgewinn und verkompliziziert die Sache insgesamt.
  • In Systemen mit externem Brenner wurde der Systemstatus der Heizkreise nicht erkannt. Der Lernprozess wurde daher abgebrochen.
Die Version ist unter Github unter folgendem Link zu finden:
Viele Grüße

   Stefan

PS:
Ich hatte um 14:40 die Version 1.2.3 aktualisiert. Der Status der Warmwasser- und Solarpumpen werden von nun an in Prozent ausgegeben. Falls jemand bisher on/off ausgewertet hat, müsste das entsprechend angepasst werden.
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

Hallo,

auf GitHub liegt eine neue Version. Hier ein kurzer Überblick über die Änderungen:


  • Neue Steuerkanäle : C28.WW_Pumpe_Min_Laufzeit, C29.BetriebsartVT_HK1, C30.Steilheit_HK1, C31.Fix_Vorlauf_Tag_HK1, C32.Fix_Vorlauf_Absenk_HK1, C33.Min_Vorlauf_Temp_HK1, C34.BetriebsartVT_HK2, C35.Steilheit_HK2, C36.Fix_Vorlauf_Tag_HK2, C37.Fix_Vorlauf_Absenk_HK2 und C38.Min_Vorlauf_Temp_HK2 mit entspechnder FHEM-SolvisClient-Anpassung.
  • Das Format des Feature-Teils in der Datei base.xml hat sich geändert. Das neue Format ermöglicht das Hinzufügen von Funktionen ohne Änderungen des Programmcodes und der XML-Schema-Definition.
  • Dependencies eingeführt. Beim Auslesen/Beschreiben einiger Kanäle müssen andere Kanäle auf bestimmte Werte eingestellt werden. Zu diesem Zweck wurde die Beschreibung von Dependencies in die Datei control.xml aufgenommen. Nach dem Auslesen/Beschreiben werden die Dependency-Kanäle auf den ursprünglichen Wert gestellt.
    Beispiel: Um C31.Fix_Vorlauf_Tag_HK1 und C32.Fix_Vorlauf_Absenk_HK1 auslesen zu können, muss C29.BetriebsartVT_HK1 auf Fix gestellt werden. Nach dem Auslesen wird es - wenn nötig - auf Kurve zurück gestellt.
  • Optimierter Algorithmus zum Erkennen von Überschriften, in denen Grafik- und OCR-Erkennung kombiniert werden. Die Übergänge zwischen Grafik und OCR dürfen nicht fix sein.
  • Fehler behoben: Unter bestimmten Umständen waren Verbindungen zwischen FHEM-SolvisClient und Sever nicht mehr möglich.

Die Control-Kanäle habe ich nach eigenen Bedürfnissen erweitert. Macht Vorschläge, wenn Ihr noch weitere benötigt. Durch die Dependencies im Control-Files gehen jetzt auch komplexere Sachen, auch im Installateur-Bereich.

Die Version ist unter Github unter folgendem Link zu finden:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.02.04--3-heating-circuits-beta

Zu beachten:
Das Format der Feature-Tags der base.xml hat sich geändert. Die alte Format sollte noch lesbar sein. Wer die neuen Kanäle nutzen will, muss auf das neue Format wechseln.

Viele Grüße
     Stefan
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

#119
Hallo,

auf GitHub liegt eine neue Version. Hier ein kurzer Überblick über die Änderungen:


       
  • Bei den neuen Control-Kanälen fehlten teilweise die Update-Bedingungen. Daduch wurden nicht alle Kanäle nach einem User-Access aktualisiert
  • Das SolvisControl/Remote-Gespann verschluckt manchmal den Release eines Buttons. Erfolgt das im Home-Screen erkennt der Server fälschlicherweise ständig einen Anwender-Zugriff und die GUI-Steuerung ist nicht mehr möglich. Die Screen-Erkennung wurde erweitert, so dass auch in diesem Fall der Home-Screen erkannt wird.
    Die Definition der übrigen Screen wurde ebenfalls angepasst, so dass ein solcher Fehler keine automatisch behebare Auswirkung hat.
  • Eine Sicherheitfunktion wurde eingebaut. Beim Einstellen der Heißwassertemperatur wird nur der WrapAround bei 65°C genutzt, wenn dabei dabei keine höhere Temperatur als 5K über den einzustellenden oder vorherigen Wert auftritt. Durch die Trägheit des Systems sind die 5K nur wenig zu merken (jedenfalls bei mir).
Die Version ist unter Github unter folgendem Link zu finden:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.02.05--3-heating-circuits-beta

Es reicht unter Linux ein "sudo make update",  unter Windows ein drüber installieren und neu starten um die Version zu aktualisieren.

Eine Anpassung des base.xml-Files gegenüber der V01.02.04 ist nicht erforderlich.


Viele Grüße
     Stefan
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht