Ansteuerung SolvisMax/Solvis-Remote

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

Vorheriges Thema - Nächstes Thema

alpine310

Hallo Stefan
erst mal muß ich mich für die tolle Arbeit bedanken. Ich benutzte den Zugriff auf meine SolvisControl schon
seitdem dieser Thread gestartet wurde. Bis auf das "wacklige" ansteuern der Tasten funktioniert
alles super.

Leider funktioniert bei mir das Anlernen nicht:
2020-02-05 09:54:53,170|LEARN|Learning started.
2020-02-05 09:55:05,618|LEARN|Screen grafic <Home> learned.
2020-02-05 09:55:15,756|ERROR|Solvis not available. Powered down or wrong IP address. Will try again
2020-02-05 09:55:39,061|ERROR|Solvis not available. Powered down or wrong IP address. Will try again
2020-02-05 09:56:02,206|ERROR|Solvis not available. Powered down or wrong IP address. Will try again
2020-02-05 09:56:25,374|ERROR|Solvis not available. Powered down or wrong IP address. Will try again
usw........

Die Anzeige in der SolvisControl springt von der Warmwasserbereitung zurück in den Homescreen.
Anschließend wird der "Solar-Button" gedrückt und bleibt weiß unterlegt.
Für mich sieht es aus, wie wenn der Button gedrückt wird, ohne wieder los gelassen zu werden.

Ich habe eine SolvisMax mit einem Heizkreis und einer Solaranlage mit einem externen Wärmetauscher.
Fhem und dein Programm sind gemeinsam auf einem Raspberry.

Ich verwende das Java, das schon auf meinem Rapberry installiert war:
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)

Irgend einen Tip, was falsch läuft?

Gruß Martin
RasPi3, HM Heizkörperthermosate, HM Fensterkontakte, HM Rolladenaktoren, HM-LED Dimmer, HM-Funktaster mit Display, Keymatic, Anbindung an Heizungsregelung SolvisControl2 mit SolvisSmartHomeServer, Anbindung an TA-UVR16x2 (für Luftkollektoren und Lüftung)

SCMP77

#76
Hallo,

Grund für diese Fehlermeldung ist ein Bug in der SolvisRemote-Firmware, die dort seit der Version 2.21.02A (Februar 2019) behoben ist. Ich hatte leider das neue Modul nur mit der aktuellen Firmware getestet.

Das alte Modul läuft nicht mit dieser neueren FW, da dort die Fehlerumgehung stört. Damit man mit der alten FWdas neue Modul ausprobieren kann, habe ich daher in der "base.xml" ein neues Attribut eingeführt. Auf längere Sicht empfehle ich aber auf die neuere FW umzusteigen, da andernfalls wirklich fehlerhafte Bildschirm-Touchs nicht erkannt werden. Da aber die SolvisRemote grundsätzlich manchmal Bildschirmtouchs ignoriert, das Modul das aber normalerweise erkennt, ist das nicht ganz tragisch.

Wenn man dort das Element "Unit" noch um das Attribut 'fwLth2_21_02A="true"' erweitert, müsste das Modul mit der älteren FW auch laufen. Die IOException welche bei der alten FW bei einem Bildschirm-Touch ausgelöst wird, wird dann ignoriert.

Das neue Modul liegt wieder auf dem Google-Drive unter folgendem Link:

https://drive.google.com/open?id=16I0RwNuYhTuL0AOJ1cGEOmnwlBNMqaRz


Folgende Änderungen sind seit der Version 0.10.01 noch erfolgt:


  • Clock-Fine-Tuning implementiert.
  • Restart des Servers nun auch vom Client möglich.
  • Error-Detection der Solvis-Anlage erweitert.
  • Control-Command-Optimierung deaktivierbar
  • Uhrenabgleich erfolgt nur, wenn der Brenner nicht läuft
  • Bei SolvisRemote-Firmware < 2.21.02A gibt es eine IOException, welche ignoriert werden muss.
  • Weitere kleinere Bugs gefixt

Die Doku ist entsprechend angepasst. Die genauere Beschreibung der Änderungen findet man in der Datei CHANGES.txt.


Viele Grüße
    Stefan


PS:
Habe gerade noch einen kleinen Bug im Client fixen müssen (Server-Menü-Einträgen mehrfach). Habe daher das Paket nochmals hochgeladen. Wer es vor 20:07 schon runter geladen haben sollte, bitte nochmal downloaden.
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

Hallo,

Achtung!  Es scheint noch ein Problem im Control-File zu geben, wenn man ein Spolarpanel hat (habe ich noch nicht). Das sehe ich mir aktuell an.

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

alpine310

Hallo Stefan
habe inzwischen die neue Firmware und die neue WebApp auf meiner SolvisRemote.
Deine neueste Software habe ich auch installiert.

Leider hängt sich das Programm beim anlernen jetzt auf und ich komme nur mit Strg-C wieder raus (oder mit kill):
sudo -u fhem /usr/bin/java -jar /opt/SolvisSmartHomeServer/SolvisSmartHomeServer.jar --server-learn
2020-02-06 11:10:36,249|LEARN|Learning started.
2020-02-06 11:10:48,708|LEARN|Screen grafic <Home> learned.
2020-02-06 11:10:52,336|LEARN|Screen grafic <Solar> learned.
2020-02-06 11:11:04,738|LEARN|Screen grafic <Nachttemperatur> learned.
2020-02-06 11:11:04,795|LEARN|Screen grafic <NachttemperaturNotSelected> learned.
2020-02-06 11:11:08,463|LEARN|Screen grafic <NachttemperaturSelected> learned.
2020-02-06 11:11:18,773|LEARN|Screen grafic <Warmwasser> learned.
2020-02-06 11:11:30,083|LEARN|Screen grafic <TagestemperaturNotSelected> learned.
2020-02-06 11:11:33,601|LEARN|Screen grafic <Tagestemperatur> learned.
2020-02-06 11:11:33,748|LEARN|Screen grafic <TagestemperaturSelected> learned.
2020-02-06 11:11:40,466|LEARN|Screen grafic <Zirkulation> learned.
2020-02-06 11:11:47,191|LEARN|Screen grafic <Sonstiges> learned.
2020-02-06 11:11:47,243|LEARN|Screen grafic <Sonstiges 1> learned.
2020-02-06 11:11:50,763|LEARN|Screen grafic <Heizkreise> learned.
2020-02-06 11:11:54,276|LEARN|Screen grafic <Heizkreis> learned.
2020-02-06 11:12:17,654|LEARN|Screen grafic <Anlagenstatus WW> learned.
2020-02-06 11:12:21,170|LEARN|Screen grafic <Anlagenstatus HK> learned.
Exception in thread "main" java.lang.NullPointerException
        at de.sgollmer.solvismax.model.objects.screen.Screen.learn(Screen.java:570)
        at de.sgollmer.solvismax.model.objects.screen.Screen.learn(Screen.java:546)
        at de.sgollmer.solvismax.model.objects.screen.Screen.learn(Screen.java:546)
        at de.sgollmer.solvismax.model.objects.screen.Screen.learn(Screen.java:546)
        at de.sgollmer.solvismax.model.Solvis.learning(Solvis.java:367)
        at de.sgollmer.solvismax.model.Instances.learn(Instances.java:61)
        at de.sgollmer.solvismax.Main.main(Main.java:122)


Die Anzeige der SolvisControl steht dann auf dem Bild Heizkreis

Gruß Martin
RasPi3, HM Heizkörperthermosate, HM Fensterkontakte, HM Rolladenaktoren, HM-LED Dimmer, HM-Funktaster mit Display, Keymatic, Anbindung an Heizungsregelung SolvisControl2 mit SolvisSmartHomeServer, Anbindung an TA-UVR16x2 (für Luftkollektoren und Lüftung)

SCMP77

#79
Hallo Martin,

Zitat von: alpine310 am 06 Februar 2020, 11:29:22Leider hängt sich das Programm beim anlernen jetzt auf und ich komme nur mit Strg-C wieder raus (oder mit kill):

ja, der Grund war die fehlende Definition für den Anlagenstatus "Solar" im control.xml (siehe meine vorhergende Mail).

Leider habe ich noch keine Solarpanels, habe aber trotzdem versucht, den Learnvorgang mit simulierten Screenshots nachzustellen. Ist jetzt bei mir durchgekommen.

Statt der Nullpointer-Exception kommt nun auch eine bessere Fehlermeldung und das Programm terminiert richtig.

Ich hoffe daher, dass jetzt das Learning auch bei Euch durchläuft.

Es liegt jetzt die neue Version 0.10.03 im Google-Drive.

https://drive.google.com/open?id=16I0RwNuYhTuL0AOJ1cGEOmnwlBNMqaRz

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

alpine310

Hallo Stefan

inzwischen bin ich schon 2 Schritte weiter aber leider läuft´s noch nicht richtig.
Das Anlernen läuft jetzt durch, allerdings mit einer komischen Meldung in Zeile 4:

sudo -u fhem /usr/bin/java -jar /opt/SolvisSmartHomeServer/SolvisSmartHomeServer.jar --server-learn
2020-02-06 16:27:10,242|LEARN|Learning started.
2020-02-06 16:27:22,541|LEARN|Screen grafic <Home> learned.
2020-02-06 16:27:26,278|LEARN|Screen grafic <Solar> learned.
2020-02-06 16:27:30,438|LEARN|Configuration mask: 0x1000009
2020-02-06 16:27:38,578|LEARN|Screen grafic <Nachttemperatur> learned.
2020-02-06 16:27:38,636|LEARN|Screen grafic <NachttemperaturNotSelected> learned.
2020-02-06 16:27:42,254|LEARN|Screen grafic <NachttemperaturSelected> learned.
2020-02-06 16:27:48,893|LEARN|Screen grafic <Warmwasser> learned.
2020-02-06 16:28:00,193|LEARN|Screen grafic <TagestemperaturNotSelected> learned.
2020-02-06 16:28:03,782|LEARN|Screen grafic <Tagestemperatur> learned.
2020-02-06 16:28:03,834|LEARN|Screen grafic <TagestemperaturSelected> learned.
2020-02-06 16:28:10,479|LEARN|Screen grafic <Zirkulation> learned.
2020-02-06 16:28:17,227|LEARN|Screen grafic <Sonstiges> learned.
2020-02-06 16:28:17,328|LEARN|Screen grafic <Sonstiges 1> learned.
2020-02-06 16:28:20,822|LEARN|Screen grafic <Heizkreise> learned.
2020-02-06 16:28:24,370|LEARN|Screen grafic <Heizkreis> learned.
2020-02-06 16:28:34,352|LEARN|Screen grafic <Anlagenstatus WW> learned.
2020-02-06 16:28:37,856|LEARN|Screen grafic <Anlagenstatus HK> learned.
2020-02-06 16:28:41,380|LEARN|Screen grafic <Anlagenstatus Solar> learned.
2020-02-06 16:28:51,735|LEARN|Screen grafic <Sonstiges 2> learned.
2020-02-06 16:28:55,301|LEARN|Screen grafic <Zaehlfunktion> learned.
2020-02-06 16:29:02,065|LEARN|Screen grafic <Sonstiges 3> learned.
2020-02-06 16:29:05,770|LEARN|Screen grafic <Uhrzeit / Datum> learned.
2020-02-06 16:29:09,330|LEARN|Screen grafic <Zeiteinstellung> learned.
2020-02-06 16:29:42,854|LEARN|Screen grafic <Zeiteinstellung_YYYY> learned.
2020-02-06 16:29:49,897|LEARN|Screen grafic <Zeiteinstellung_MM> learned.
2020-02-06 16:29:56,949|LEARN|Screen grafic <Zeiteinstellung_DD> learned.
2020-02-06 16:30:04,012|LEARN|Screen grafic <Zeiteinstellung_hh> learned.
2020-02-06 16:30:11,042|LEARN|Screen grafic <Zeiteinstellung_mm> learned.
2020-02-06 16:30:26,499|LEARN|Screen grafic <ModeTag> learned.
2020-02-06 16:30:29,040|LEARN|Screen grafic <ModeNacht> learned.
2020-02-06 16:30:31,579|LEARN|Screen grafic <ModeStandby> learned.
2020-02-06 16:30:34,230|LEARN|Screen grafic <ModeTimer> learned.
2020-02-06 16:30:53,426|LEARN|Screen grafic <WWPumpeAus> learned.
2020-02-06 16:30:55,955|LEARN|Screen grafic <WWPumpeAn> learned.
2020-02-06 16:30:58,494|LEARN|Screen grafic <WWPumpeAuto> learned.
2020-02-06 16:31:01,757|LEARN|Learning finished.


Den Server kann ich starten und kann auch in FHEM ein Modul anlegen.
Der Status ist SOLVIS_CONNECTED und die Readings sind vorhanden und zeigen plausible Werte.

Nur die Steuerung funktioniert nicht. Weder die set-Befehle noch die get-Befehle
haben irgendeine Auswirkung. Auf der Oberfläche der SolvisControl passiert nichts.
Mir ist nur aufgefallen, daß nach dem Neustart des Servers irgendwann die
SolvisControl im Menü "Zählfunktion" steht  und dort stehen bleibt.

Martin
RasPi3, HM Heizkörperthermosate, HM Fensterkontakte, HM Rolladenaktoren, HM-LED Dimmer, HM-Funktaster mit Display, Keymatic, Anbindung an Heizungsregelung SolvisControl2 mit SolvisSmartHomeServer, Anbindung an TA-UVR16x2 (für Luftkollektoren und Lüftung)

SCMP77

#81
Hallo Martin,

Zitat von: alpine310 am 06 Februar 2020, 16:52:27Das Anlernen läuft jetzt durch, allerdings mit einer komischen Meldung in Zeile 4:

Das ist in Ordnung. Das habe ich neu reingebracht, damit man (ich) die Konfiguration der Anlage erkennen kann. Diese Maske sagt, dass es sich um eine SolvisMax mit HK1 und Solaranlage handelt. Dann brauch ich nicht erst nachfragen, wenn ich die Konfiguration nachstellen muss.

Zitat von: alpine310 am 06 Februar 2020, 16:52:27Der Status ist SOLVIS_CONNECTED und die Readings sind vorhanden und zeigen plausible Werte.

Da ist dann schon einiges an Kommunnikation zwischen Server und Client gelaufen, die Befehle, Readings wurden vom Server übergeben etc.

Zitat von: alpine310 am 06 Februar 2020, 16:52:27Nur die Steuerung funktioniert nicht. Weder die set-Befehle noch die get-Befehle
haben irgendeine Auswirkung. Auf der Oberfläche der SolvisControl passiert nichts.
Mir ist nur aufgefallen, daß nach dem Neustart des Servers irgendwann die
SolvisControl im Menü "Zählfunktion" steht  und dort stehen bleibt.

Das ist ein "normales" Verhalten nach der ersten Inbetriebnahme. Hatte ich vergessen in die Doku zu schreiben. Das sollte auch nur dann passieren, wenn der Brenner läuft. Wenn der erste Laufzeitstundenwechsel erkannt wird, ist der Spuk vorbei.

Direkt nach dem Start des Servers sollten aber erst die aktuellen Stände abgeholt werden.

Der Server beobachtet die Stundenlaufzeit des Brenners und wenn ein Stundenwechsel erfolgt, synchronisiert er seinen eigenen Laufzeitzähler, der nicht nur stundengenau ist

Daß er aktuell auf dem Fenster "Zählfunktion" steht ist daher nachvollziehbar (wenn der Brenner läuft) und ist eher ein gutes Zeichen.

Zitat von: alpine310 am 06 Februar 2020, 16:52:27Nur die Steuerung funktioniert nicht. Weder die set-Befehle noch die get-Befehle haben irgendeine Auswirkung.

Das wundert mich jetzt schon, da die Kommunikation zwischen Server und Client eigentlich funktioniert und SET/GET fast nur ein kleines Anhängsel ist.

Im Standardpfad-Schreibpfad (writablePathLinux="/opt/fhem"), findet man das Verzeichnis "/opt/fhem/SolvisServerData". In diesem liegen sowohl die Konfigurationsdateien als auch die Log-Dateien des Servers. In der Datei "solvis.log" sollten eigentlich die Requests des Clients zu finden sein. Da steht dann so etwas wie

[2020-02-06 15:57:58,685] INFO  de.sgollmer.solvismax.connection.CommandHandler - Channel <C10.Raumeinfluss_HK1> will be set to 90.0>.
[2020-02-06 15:58:18,865] INFO  de.sgollmer.solvismax.model.objects.control.Control - Channel <C10.Raumeinfluss_HK1> is set to 90.0>.

Die erste Zeile sollte erscheinen, wenn der Client den Befehl gesendet hat, die zweite erscheint, wenn der Befehl erfolgreich ausgeführt wurde.

Du kannst ja mal den entsprechenden Auszug Deines Logfiles hier reinhängen.

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

alpine310

Hallo Stefan

Zitat...Diese Maske sagt, dass es sich um eine SolvisMax mit HK1 und Solaranlage handelt..
Das ist korrekt. Genauer um eine Solaranlage mit externem Wärmetauscher, ich weiß nicht ob du
da noch unterscheidest.

Hier ein Auszug aus dem Log:
[2020-02-07 07:53:41,103] INFO  de.sgollmer.solvismax.model.Solvis - Screen saver detected
[2020-02-07 07:53:41,103] INFO  de.sgollmer.solvismax.model.Solvis - Screen saver finished
[2020-02-07 08:03:44,723] INFO  de.sgollmer.solvismax.model.Solvis - Screen saver detected
[2020-02-07 08:03:44,723] INFO  de.sgollmer.solvismax.model.Solvis - Screen saver finished
[2020-02-07 08:04:40,665] INFO  de.sgollmer.solvismax.model.WatchDog - User access detected
[2020-02-07 08:04:50,789] INFO  de.sgollmer.solvismax.connection.CommandHandler - Command <SET> received
[2020-02-07 08:04:50,790] INFO  de.sgollmer.solvismax.connection.CommandHandler - Channel <C06.Anlagenmodus_HK1> will be set to Timer>.
[2020-02-07 08:09:41,954] INFO  de.sgollmer.solvismax.model.WatchDog - User access finished
[2020-02-07 08:09:42,858] INFO  de.sgollmer.solvismax.connection.CommandHandler - Command <SET> received
[2020-02-07 08:09:42,858] INFO  de.sgollmer.solvismax.connection.CommandHandler - Channel <C09.TemperaturFeineinstellung_HK1> will be set to -5.0>.
[2020-02-07 08:19:52,124] INFO  de.sgollmer.solvismax.model.Solvis - Screen saver detected
[2020-02-07 08:19:52,124] INFO  de.sgollmer.solvismax.model.Solvis - Screen saver finished


Ejnen Eintrag, daß ein SET oder GET Befehl ausgeführt wurde, konnte ich im ganzen Log nicht finden...

Bei dem obigen Versuch aus dem Log war die SolvisControl irgendwann wieder in der "Zählfunktion" gestanden.
Prinzipielle funktioniert die Steuerung der SolvisControl also.

Gruß Martin
RasPi3, HM Heizkörperthermosate, HM Fensterkontakte, HM Rolladenaktoren, HM-LED Dimmer, HM-Funktaster mit Display, Keymatic, Anbindung an Heizungsregelung SolvisControl2 mit SolvisSmartHomeServer, Anbindung an TA-UVR16x2 (für Luftkollektoren und Lüftung)

SCMP77

Hallo Martin,

Danke für den Log. Also die Befehle vom Client kommen an, aber sie werden aktuell seltsamerweise noch nicht ausgeführt. Das muss ich mir überlegen woran das liegen könnte.

Kannst Du mal nachsehen, ob bei Dir die Readings C1 ... C11 (wie im Anhang) auf der Fhem-Seite zu sehen sind? Dann weiß ich etwas mehr.

Viele Grüße
   Stefan



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

SCMP77

Hallo Martin,

eine Möglichkeit habe ich gerade im Code gesehen. Welchen Status zeigt aktuell der FHEM-Client an?

Der State muss auf "SOLVIS_CONNECTED" stehen. Nur dann wird die Command-Queue ausgeführt.

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

alpine310

Hallo Stefan

1. bei mir gibt es nur C10 und C11 (siehe Sreenshot)
2. Status ist SOLVIS_CONNECTED

Gruß Martin
RasPi3, HM Heizkörperthermosate, HM Fensterkontakte, HM Rolladenaktoren, HM-LED Dimmer, HM-Funktaster mit Display, Keymatic, Anbindung an Heizungsregelung SolvisControl2 mit SolvisSmartHomeServer, Anbindung an TA-UVR16x2 (für Luftkollektoren und Lüftung)

SCMP77

#86
Hallo Martin,

habe nochmal nachgesehen, ich denke, dass der Status dürfte bei dir schon richtig stehen. Andernfalls würde er weder den Bildschirmschoner noch den User-Acces erkennen, der Watch-Dog, der dafür zuständig ist, würde dann auch nicht laufen.

Ich habe noch einen kleinen Bug gefixt, bei der Brennerlaufzeit-Synchronisation war ein Fehler, der aber Dein Problem höchstwahrscheinlich nicht erklären kann.

Ich habe daher den code noch um weitere Info-Messages ergänzt, damit man die Command-Queue besser beobachten kann.

Kurz nach dem Start des Servers müsste es im Log wie folgt aussehen:

[2020-02-07 10:36:10,444] INFO  de.sgollmer.solvismax.Main - Server started
[2020-02-07 10:36:12,016] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C11.Vorlauf_Soll_HK1> was added to the end of the command queue
[2020-02-07 10:36:12,019] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C10.Raumeinfluss_HK1> was inserted in the command queue
[2020-02-07 10:36:12,020] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> was added to the end of the command queue
[2020-02-07 10:36:12,021] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C02.LaufzeitBrenner> was inserted in the command queue
[2020-02-07 10:36:12,022] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C01.StartsBrenner> was inserted in the command queue
[2020-02-07 10:36:12,023] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C08.Nachttemperatur_HK1> was added to the end of the command queue
[2020-02-07 10:36:12,024] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C07.Tagestemperatur_HK1> was added to the end of the command queue
[2020-02-07 10:36:12,025] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C05.WassertemperaturSoll> was added to the end of the command queue
[2020-02-07 10:36:12,026] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C04.WarmwasserPumpe> was inserted in the command queue
[2020-02-07 10:36:12,027] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C09.TemperaturFeineinstellung_HK1> was added to the end of the command queue
[2020-02-07 10:36:12,028] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C06.Anlagenmodus_HK1> was inserted in the command queue
[2020-02-07 10:36:12,080] INFO  de.sgollmer.solvismax.model.SolvisState - Solvis state changed to <SOLVIS_CONNECTED>.
[2020-02-07 10:36:22,426] INFO  de.sgollmer.solvismax.model.Solvis - Screen <Zaehlfunktion> saved
[2020-02-07 10:36:22,427] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C11.Vorlauf_Soll_HK1> will be executed
[2020-02-07 10:36:46,271] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C11.Vorlauf_Soll_HK1> executed
[2020-02-07 10:36:46,394] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C10.Raumeinfluss_HK1> will be executed
[2020-02-07 10:36:46,444] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C10.Raumeinfluss_HK1> executed
[2020-02-07 10:36:46,444] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> will be executed
[2020-02-07 10:36:47,084] INFO  de.sgollmer.solvismax.connection.Server - Client connected from /192.168.0.71
[2020-02-07 10:36:47,106] INFO  de.sgollmer.solvismax.connection.CommandHandler - Command <RECONNECT> received
[2020-02-07 10:36:48,115] INFO  de.sgollmer.solvismax.connection.Server - Client disconnected
[2020-02-07 10:36:50,146] INFO  de.sgollmer.solvismax.connection.Server - Client connected from /192.168.0.71
[2020-02-07 10:36:50,147] INFO  de.sgollmer.solvismax.connection.CommandHandler - Command <CONNECT> received
[2020-02-07 10:36:50,530] INFO  de.sgollmer.solvismax.connection.Server - Client connected from /192.168.1.75
[2020-02-07 10:36:50,531] INFO  de.sgollmer.solvismax.connection.CommandHandler - Command <RECONNECT> received
[2020-02-07 10:36:51,534] INFO  de.sgollmer.solvismax.connection.Server - Client disconnected
[2020-02-07 10:36:55,552] INFO  de.sgollmer.solvismax.connection.Server - Client connected from /192.168.1.75
[2020-02-07 10:36:55,554] INFO  de.sgollmer.solvismax.connection.CommandHandler - Command <RECONNECT> received
[2020-02-07 10:36:56,555] INFO  de.sgollmer.solvismax.connection.Server - Client disconnected
[2020-02-07 10:36:59,638] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> executed
[2020-02-07 10:36:59,768] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C02.LaufzeitBrenner> will be executed
[2020-02-07 10:36:59,833] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C02.LaufzeitBrenner> executed
[2020-02-07 10:36:59,889] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C01.StartsBrenner> will be executed
[2020-02-07 10:36:59,892] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C01.StartsBrenner> executed
[2020-02-07 10:36:59,893] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C08.Nachttemperatur_HK1> will be executed
[2020-02-07 10:37:17,703] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C08.Nachttemperatur_HK1> executed
[2020-02-07 10:37:17,704] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C07.Tagestemperatur_HK1> will be executed
[2020-02-07 10:37:20,550] INFO  de.sgollmer.solvismax.connection.Server - Client connected from /192.168.1.75
[2020-02-07 10:37:20,551] INFO  de.sgollmer.solvismax.connection.CommandHandler - Command <CONNECT> received
[2020-02-07 10:37:25,568] INFO  de.sgollmer.solvismax.connection.Server - Client connected from /192.168.1.75
[2020-02-07 10:37:25,569] INFO  de.sgollmer.solvismax.connection.CommandHandler - Command <CONNECT> received
[2020-02-07 10:37:32,512] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C07.Tagestemperatur_HK1> executed
[2020-02-07 10:37:32,512] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C05.WassertemperaturSoll> will be executed
[2020-02-07 10:37:39,251] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C05.WassertemperaturSoll> executed
[2020-02-07 10:37:39,370] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C04.WarmwasserPumpe> will be executed
[2020-02-07 10:37:39,421] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C04.WarmwasserPumpe> executed
[2020-02-07 10:37:39,421] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C09.TemperaturFeineinstellung_HK1> will be executed
[2020-02-07 10:37:42,542] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C09.TemperaturFeineinstellung_HK1> executed
[2020-02-07 10:37:42,668] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C06.Anlagenmodus_HK1> will be executed
[2020-02-07 10:37:42,670] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C06.Anlagenmodus_HK1> executed
[2020-02-07 10:37:53,152] INFO  de.sgollmer.solvismax.model.Solvis - Screen <Zaehlfunktion> restored
[2020-02-07 10:47:54,113] INFO  de.sgollmer.solvismax.model.Solvis - Screen saver detected


(Wundere Dich nicht über die vielen Client-Connect-Messages, ich habe aktuell 3 Clients dran.

Ein Set-Command sollte dann wie folgt im Log dargestellt werden:

[2020-02-07 10:51:28,331] INFO  de.sgollmer.solvismax.connection.CommandHandler - Command <SET> received
[2020-02-07 10:51:28,331] INFO  de.sgollmer.solvismax.connection.CommandHandler - Channel <C06.Anlagenmodus_HK1> will be set to Tag>.
[2020-02-07 10:51:28,332] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C06.Anlagenmodus_HK1, set value: Tag> was added to the end of the command queue
[2020-02-07 10:51:28,388] INFO  de.sgollmer.solvismax.model.Solvis - Screen saver finished
[2020-02-07 10:51:31,935] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C06.Anlagenmodus_HK1, set value: Tag> will be executed
[2020-02-07 10:51:38,137] INFO  de.sgollmer.solvismax.model.objects.control.Control - Channel <C06.Anlagenmodus_HK1> is set to Tag>.
[2020-02-07 10:51:38,139] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C06.Anlagenmodus_HK1, set value: Tag> executed


Ich hoffe, dass wir so dem Problem besser auf die Spur kommen.

Viele Grüße
   Stefan

PS:
Der Update liegt wieder auf dem Google-Drive.

https://drive.google.com/open?id=16I0RwNuYhTuL0AOJ1cGEOmnwlBNMqaRz

Ich habe das Makefile auch noch um den Parameter "update" ergänzt. Wenn man den Server nun als Service installiert hat, wird automatisch erst der Server gestoppt, dann läuft der Update und anschließend wird der Server wieder gestartet.
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

SCMP77

#87
Hallo Martin,

Zitat von: alpine310 am 07 Februar 2020, 10:49:411. bei mir gibt es nur C10 und C11 (siehe Sreenshot)

Vielleicht ist der Learn-Vorgang für die Zählfunktion nicht richtig gelaufen? Versucht er das immer wieder? Eigentlich habe ich da eine Begrenzung drin (ich glaube, er soll es 10mal versuchen). Dann sollte es aber im Log auch Fehlermeldungen geben.

Könntest Du das Learning vielleicht wiederholen (sudo make learn)? Wie in der Doku beschrieben, der Lern-Vorgang ist kritisch, wenn die SolvisControl einen Touch ignoriert kann es passieren, dass das vom Server nicht erkannt wird (was die SolvisControl recht häufig macht, das ist ja auch der Grund, weshalb das bisherige Verfahren so unzuverlässig arbeitet). Gerade in der Lern-Phase kennt er die Bildschirme nicht und muss sich auf die Touchs halbwegs verlassen. In der Lernphase erkenne der Server nur, dass sich nach dem Touch der Bildschirm verändert hat (und erwartetet das auch), ob die SolvisControl wirklich im richtigen gelandet ist, kann der Server leider nicht erkennen. Checken tut er den neuen Bildschirm dann noch zusätzlich gegen die schon angelernten Bildschirme. Wenn er dabei einen schon bereits angelernten erkennt, gibt es auch eine  Fehlermeldung und er versucht den Lern-Abschnitt nochmal von vorn auszuführen (vom Home-Screen aus).

Nach erfolgreicher Lernphase kennt der Server die notwendigen Bildschirme und dann ist es egal, ob ein Touch mal ignoriert wird.

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

alpine310

Hallo Stefan,

ich glaube wir sind der Lösung ein ganzes Stück näher:

Nach dem Start des Servers wechselt die SolvisControl wieder ins Menü Zählfunktion
und dann wird das Log  mit folgenden Meldungen geflutet (habe mit tail eine Weile zugeschaut) :P:


...
vorher "tausendmal" der gleich Logeintrag
...
[2020-02-07 13:03:46,444] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> executed not successfull
[2020-02-07 13:03:56,669] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> will be executed
[2020-02-07 13:03:56,753] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> executed not successfull
[2020-02-07 13:04:07,107] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> will be executed
[2020-02-07 13:04:07,197] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> executed not successfull
[2020-02-07 13:04:16,006] INFO  de.sgollmer.solvismax.connection.CommandHandler - Command <SET> received
[2020-02-07 13:04:16,007] INFO  de.sgollmer.solvismax.connection.CommandHandler - Channel <C06.Anlagenmodus_HK1> will be set to Timer>.
[2020-02-07 13:04:16,008] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C06.Anlagenmodus_HK1, set value: Timer> was inserted in the command queue
[2020-02-07 13:04:16,243] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> will be executed
[2020-02-07 13:04:16,326] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> executed not successfull
[2020-02-07 13:04:26,600] INFO  de.sgollmer.solvismax.model.SolvisWorkers - Command <Id: C03.LaufzeitAnforderung2> will be executed
...
und es geht ständig weiter mit dem gleichen Log Eintrag
...


Dazwischen habe ich einen Set Befehl ausgeführt, der im Log auch zu sehen ist, aber dann geht´s munter  mit
der Laufzeitanforderung weiter....und hört auch damit nicht mehr auf!!!!
Ich denke das blockiert alles! Die Frage ist nur, warum kommt der Server da nicht mehr rausß

Ach ja, beim anlernen ist meines erachtens alles problemlos durchgelaufen und der Zählfunktion-Bildschirm war auch zu sehen.

Martin
RasPi3, HM Heizkörperthermosate, HM Fensterkontakte, HM Rolladenaktoren, HM-LED Dimmer, HM-Funktaster mit Display, Keymatic, Anbindung an Heizungsregelung SolvisControl2 mit SolvisSmartHomeServer, Anbindung an TA-UVR16x2 (für Luftkollektoren und Lüftung)

SCMP77

#89
Hallo Martin,

kannst Du mir mal die Grafik von der Zählfunktion schicken?

Sieht die bei Dir vielleicht doch anders aus als bei mir? Ich habe gerade in den Code gesehen und an der Stelle habe ich etwas wenig Logs drin, aber wenn das Format der Laufzeit ein anderes ist, als das ich erwarte, würde er auch in dieser Form reagieren.  Blöd, dass er da von sich aus nicht wieder raus kommt. Da werde ich ändern und zwar so, dass es bei mehreren Fehlern hintereinander der Befehl ans Ende der Befehlsqueue gehängt wird. Aktuell blockiert dieses offenbar nicht mögliche Abarbeiten des Lesens die ganze Queue. Wobei man dadurch nur das Symptom bekämpft, die Ursache müssen wir finden.

Könntest Du die Grafik so erstellen, wie ich es vor ein paar Beiträgen mal empfohlen habe generieren?

Also zuerst die Zählfunktion in der SolvisControl auswählen und dann:

ZitatEs wäre ideal, wenn Ihr nach der Selektion über die Web-Seiten der Solvis-Remote dann mittels des Links

    http://<tcp-ip-adresse der Solvis-Anlage>/display.bmp?

auslesen und abspeichern könntet. Dann wären die Bilder gleich in der richtigen Größe und ohne irgendwelche Artefakte.

Dann kann ich da direkt mal die Erkennung drüber laufen lassen.

Vielel Grüße
   Stefan

PS:
Mir fällt gerade ein, hast Du evtl. keinen mehrstufigen Brenner? Bei mir sieht dies wie im Anhang aus. Er hängt sich bei der Laufzeitanforderung 2 ja auf.

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