Autor Thema: Ansteuerung SolvisMax/Solvis-Remote  (Gelesen 33866 mal)

Offline SCMP77

  • Developer
  • Full Member
  • ****
  • Beiträge: 135
    • GitHub SolvisSmartHomeServer
Ansteuerung SolvisMax/Solvis-Remote V01.02.06
« Antwort #120 am: 10 Oktober 2020, 11:47:12 »
Hallo,

ich hatte doch noch einen Bug drin, der dann auftritt, wenn man nioch mit dem alten base.xml arbeitet.

Auf GitHub liegt unter folgendem Link die gefixte Version:

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

Allgemeine Frage Besitzern von einem System mit WW-Ringleitung:Aktuell überlege ich, ob man sicherheitshalber die Einstellung der WW-Temperatur bei laufendem Wasser (erkennbar durch WW-Pumpe) blockieren sollte.
Aktuelle denke ich daran, dass erst eine bestimmte Zeit nach der letzten WW-Entnahme dann diese Temperaturumstellung vorgenommen wird. Vielleicht bringe ich das in eine der nächsten Versionen rein (als Feature).

Bei Systemen mit einer Ringleitung wäre das jedoch schwierig, dort wird man das Feature vermutlich nicht einschalten können.
Oder gibt es dort bestimmte Kriterien?
Läuft dort die WW-Pumpe auch nur selten, so dass man sie ebenfalls als Kriterium nutzen kann?


Viele Grüße und viel Erfolg

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

Offline SCMP77

  • Developer
  • Full Member
  • ****
  • Beiträge: 135
    • GitHub SolvisSmartHomeServer
Ansteuerung SolvisMax/Solvis-Remote V01.02.07
« Antwort #121 am: 16 Oktober 2020, 15:56:17 »
Hallo,

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

  • Bei Control-Channels, welche mittels Fließkomma-Werten gesetzt werden, funktionierte der Update des Clients sowohl über die Mqtt- als auch Server-Client-Schnittstelle nicht zuverlässig.
  • HTTP Proxy für Mail-Versand nun möglich.

Die Version ist unter Github unter folgendem Link zu finden:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.02.07--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

Offline SCMP77

  • Developer
  • Full Member
  • ****
  • Beiträge: 135
    • GitHub SolvisSmartHomeServer
Ansteuerung SolvisMax/Solvis-Remote V01.02.08
« Antwort #122 am: 29 Dezember 2020, 14:55:52 »
Hallo,

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

  • Der Service-Mode wurde nicht immer aktiviert, wenn die SolvisRemote eingeschaltet blieb und das System selbst ausgeschaltet war (mit aktivierter PowerOffIsServiceAccess-Funktion).
  • Neuer Befehl "SelectScreen" implementiert. Hiermit kann man einen bestimmten Bildschirm auswählen, der (entweder manuell oder über Server) immer am Ende eines Zugriffs angefahren wird.
  • Die Ein-/Ausschaltzeiten der Geräte (Brenner/Pumpen) wurden beim Neustart fälschlicherweise auf die weniger genauen Zeiten der GUI eingestellt.
  • Für die Abhängigkeiten ist eine Priorisierung in der Ausführungssequenz erforderlich.
  • Inkonsistenzen in den Diagrammen behoben
  • Einige andere Korrekturen.

Die Version ist unter Github unter folgendem Link zu finden:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.02.08--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.

Anschließend sollte man noch FHEM neustarten, da das FHEM-Modul ebenfalls geändert wurde.

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


Viele Grüße
     Stefan
« Letzte Änderung: 03 Januar 2021, 08:34:49 von SCMP77 »
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

Offline Andi196612

  • New Member
  • *
  • Beiträge: 3
Antw:Ansteuerung SolvisMax/Solvis-Remote
« Antwort #123 am: 18 Januar 2021, 21:50:32 »
Hallo, ich versuche verzweifelt, über Python an die Logfiles meines Solvis Ben mit SC3 zu gelangen.

Manuell kann ich diese über mein lokales Netzwerk unter "Logging" aus der HTML Seite unter http:/192.etc/index.html abfragen (zB eine Datei "mi210118.txt").

Ich möchte das aber über Python automatisieren.

Kann mir irgendjemand hier einen Hinweis geben, wie da ran komme ?

Bislang scheitere ich mit der Meldung "401 Unauthorized: Password required", obwohl ich mit
http://user:pwd@192.168.178.60 oder auth=('user','pwd') authentifiziere

y = requests.get ==> wie lautet hier der entsprechende Befehl ??????

Vielen vielen Dank !

Offline SCMP77

  • Developer
  • Full Member
  • ****
  • Beiträge: 135
    • GitHub SolvisSmartHomeServer
Antw:Ansteuerung SolvisMax/Solvis-Remote
« Antwort #124 am: 24 Januar 2021, 17:02:58 »
Hallo Andi196612,

Bislang scheitere ich mit der Meldung "401 Unauthorized: Password required", obwohl ich mit
http://user:pwd@192.168.178.60 oder auth=('user','pwd') authentifiziere

y = requests.get ==> wie lautet hier der entsprechende Befehl ??????

ich kann Dir nicht weiter helfen, weil meine  Python-Kenntnisse viel zu rudimentär sind und auch 11 Jahre alt.

Trotzdem weiß ich aus meinem SolvisServer-Programm, dass die Methode über "http://user:pwd@192.168.178.60" nicht geht. Unter Java verwende ich dazu das PasswordAuthentication-Objekt.

Mal aus Stack Overflow kopiert:

import requests

r = requests.get('http://user:pwd@192.168.178.60', auth=('user','pwd'))
print(r.text)

Bei dem Druck auf den Logging-Button der Solvis-Seite wird ein kleines JavaScript-Methode ausgeführt. Das müsstest Du vermutlich nachbilden.

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

Offline SCMP77

  • Developer
  • Full Member
  • ****
  • Beiträge: 135
    • GitHub SolvisSmartHomeServer
Ansteuerung SolvisMax/Solvis-Remote V01.02.09
« Antwort #125 am: 24 Januar 2021, 17:12:35 »
Hallo,

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

  • Unit-Ttypen "SolvisMax6" und "SolvisMax7" hinzugefügt.
  • Die ScreenSaver-Erkennung fixed.
  • XML-Bug der MustBeWhite-Abschnitte behoben.
  • Für den Befehl SelectScreen können nur Bildschirme ausgewählt werden, bei denen das Attribut "noRestore" nicht definiert ist.
  • Über den Befehl SelectScreen darf man nur Bildschirme auswählen, deren Attribut "noRestore" nicht definiert ist.
  • FHEM-Modul: Die Protokollausgabe im Falle eines Befehlsfehlers enthält jetzt die Fehlerbeschreibung.

Die Version ist unter Github unter folgendem Link zu finden:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.02.09--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.

Anschließend sollte man noch FHEM neustarten, da das FHEM-Modul ebenfalls geändert wurde.

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


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

Offline Andi196612

  • New Member
  • *
  • Beiträge: 3
Antw:Ansteuerung SolvisMax/Solvis-Remote
« Antwort #126 am: 26 Januar 2021, 07:53:20 »
Hallo, erstmal Danke für Euren Input.
Nach etwas try&error habe ich herausgefunden, daß es an der Authentifizierung liegt. Solvis kann offenbar mit der Standard-Auth nichts anfangen und benötigt eine HTTPDigestAuth.
Das Ganze sieht dann so aus:

from requests.auth import HTTPDigestAuth

r=requests.get('http://192.168.178.60/SC3_MA7/log/mi201214.txt', auth=HTTPDigestAuth('user', 'pwd'))

print(r.status_code)
print(r)
print(r.content)


Damit erhalte ich als Antwort die Datei - und vorangesetzt das Javascript File über das normalerweise die Datei heruntergeladen wird.

Also noch nicht optimal, aber ein Anfang ist gemacht.

Nächster Schritt ist dann das reverse-engineering des Javascript files.

Offline Andi196612

  • New Member
  • *
  • Beiträge: 3
Antw:Ansteuerung SolvisMax/Solvis-Remote
« Antwort #127 am: 01 Februar 2021, 21:45:47 »
So, Zeit was ans Forum zurückzugeben. Anbei ein Python Script, was automatisch alle Minutefiles der Solvis SC3 herunterlädt. Dateien die schon geladen sind, werden ausgespart => das spart viel an Zeit wenn man bereits etliche Files auf der Solvis liegen hat.
Viel Spaß damit !


# -*- coding: utf-8 -*-
"""
# 2021-02-01--21-36-01-import-from-solvis.py

Importiert alle auf der lokalen Heizungsanlage liegenden mi* files.

Liest die dir.txt auf dem Webserver und bearbeitet sie etwas bis sie clean ist

Liest die im DownloadedDir Verzeichnis liegenden Dateien und cleaned sie

Lädt dann die neueste im imported liegende Datei nochmal (kann im Hintergrund auf Heizungsanlage aktualisiert worden sein)

# known issues: none

"""
############################################################################################################
# Verwende nicht diese Dateien (sind nicht relevant, da war die Uhr der Heizung falsch gestellt)
SkipFiles="mi19"
# Enthält die auf dem Server befindlichen Files
FilesServer=""
# Enthält die bereits heruntergeladenen Files
FilesDownloaded=""
# Unterverzeichnis wo die runtergeladenen Dateien stehen
DownloadedDir="downloadedfromsolvis"
# user
user="user"
# password
password="pass"
# IP Adresse und Fileverzeichnis
ipadress="http://192.168.178.60/"
logdir="SC3_MA7/log/"
dirtxt="dir.txt"
#
############################################################################################################



import os
import requests
from requests.auth import HTTPDigestAuth
import glob


#################################################################
# Liste der Serverfiles lesen
#################################################################
r=requests.get(ipadress+dirtxt, auth=HTTPDigestAuth(user, password))

# Lösche unnötiges aus der dir.txt
FilesServer=str(r.content)
FilesServer=FilesServer.replace("b","")
FilesServer=FilesServer.replace("'","")
FilesServer=FilesServer.split("\\r\\n")

# letztes Element enthält einen Leerstring, daher löschen
del FilesServer[-1]

# Fileliste nochmal zur Sicherheit sortieren
FilesServer.sort(reverse=False)

print("\nIn total "+str(len(FilesServer))+" files available\n")


# files die geskippt werden soll, skippen
# ("skipfiles")

# enthält temporär die um "skipfiles" reduziert liste
cleaned=[]

print("\nChecking for relevant files on Solvis:")
for f in FilesServer:
    if SkipFiles in f:
        # Skippen
        print("Skip file: ",f)
    else:
        #nehmen
        print("Take file: ",f)
        cleaned.append(f)
FilesServer=cleaned
print("\nFinal list of relevant files on Solvis:")
print(FilesServer)

#################################################################       
# Liste der "DownloadedFiles" erstellen
#################################################################       

# prüfe ob "DownloadedDir" existiert, wenn nicht: erzeuge es
if not os.path.exists(DownloadedDir):
    print("\nDir <"+DownloadedDir+"> not existing: creating")
    os.makedirs(DownloadedDir)

# erzeuge die Liste der verfügbaren Files
FilesDownloaded=glob.glob(DownloadedDir+"\mi*.txt")

cleaned=[]

for f in FilesDownloaded:
    f=f.replace(DownloadedDir+"\\","")
    cleaned.append(f)

FilesDownloaded=cleaned

print("\nList of already downloaded files in <"+DownloadedDir+">")
print(FilesDownloaded,"\n")


#################################################################       
# Noch nicht runtergeladene runterladen
#################################################################       

# lade das zuletzt geladene File noch einmal - könnte ein Update bekommen haben
if len(FilesDownloaded)!=0: # nur falls schon ein File drin ist
    last=FilesDownloaded[-1]
    print("Download for update: "+last+"\n")
    r=requests.get(ipadress+logdir+last, auth=HTTPDigestAuth(user, password))
    fo = open(DownloadedDir+"\\"+last, "wb")
    fo.write( r.content)
    fo.close()

# die noch nicht runtergeladenen downloaden
for f in FilesServer:
    if f in FilesDownloaded:
        print("Already downloaded : "+f)
    else:
        print("Downloading        : "+f)
        r=requests.get(ipadress+logdir+f, auth=HTTPDigestAuth(user, password))
        fo = open(DownloadedDir+"\\"+f, "wb")
        fo.write( r.content)
        fo.close()
   
print("\nDownloading finished")


Offline SCMP77

  • Developer
  • Full Member
  • ****
  • Beiträge: 135
    • GitHub SolvisSmartHomeServer
Version V1.02.10
« Antwort #128 am: 25 Februar 2021, 16:31:33 »
Hallo,

auf GitHub liegt eine neue Version. Hier ein kurzer Überblick über die Änderungen:
  • Mit dem Tag "IgnordChannels" in der base.xml können die an den Client / Mqtt-Broker gesendeten Kanäle jetzt auf der Serverseite reduziert werden.
  • FHEM-Modul: Das Blockieren von FHEM beim Herstellen einer Verbindung wurde beseitigt.
  • Die Funktion "OnlyMeasurements" wurde durch "InteractiveGUIAccess" mit invertierter Logik ersetzt. Die Funktion "OnlyMeasurements" wird aus Gründen der Abwärtskompatibilität weiterhin unterstützt. Sie sollte jedoch durch die Neue ersetzt werden.
  • EquipmentOnOff-Überwachungsfehler behoben

Die Version ist unter Github unter folgendem Link zu finden:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.02.10--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.

Anschließend sollte man noch FHEM neustarten, da das FHEM-Modul ebenfalls geändert wurde.

Eine Anpassung des base.xml-Files gegenüber der V01.02.09 ist nicht erforderlich. "OnlyMeasurements" sollte durch "InteractiveGUIAccess" ersetzt werden (invertierte Logik).

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

Offline SCMP77

  • Developer
  • Full Member
  • ****
  • Beiträge: 135
    • GitHub SolvisSmartHomeServer
Version V1.03.00
« Antwort #129 am: 20 Mai 2021, 15:04:24 »
Hallo,

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

  • Neue Kanal-Zuordnungsschicht eingeführt, da sich die Unterschiede der verschiedenen Anlagenkonfiguration doch größer als erwartet waren.
  • Kanaldokumentation der aktuellen Konfiguration kann nun erstellt werden
  • MQTT-Schnittstelle verbessert
  • einige Bugs gefixt

Die Version ist unter Github unter folgendem Link zu finden:

https://github.com/GollmerSt/SolvisSmartHomeServer/releases/tag/v01.03.00

Es sind Anpassungen im base.xml erforderlich, insbesondere was die Anlagendefinition betrifft. Die Konfiguration erfolgt nicht mehr über einen Bitmaske sondern im Klartext, z.B. SolvisMax6, Gas, Heizkreisanzahl, Feststoffkessel etc.. Die Beschreibung hierzu findet man in der Wiki.

Nach dem Anpassen der base.xml reicht unter Linux ein "sudo make update".

Unter Windows sollte der Server gestoppt werden, dann drüber installieren, danach die base.xml anpassen und dann den Server neu starten.

Viele Grüße
   Stefan

Anschließend sollte man noch FHEM neustarten, da das FHEM-Modul ebenfalls geändert wurde.
Raspberry Pi 3 Model B mit Rasbian, SolvisMax, AVM DECT 200, Sonoff mit Tasmota geflasht

Offline carmade

  • Newbie
  • Beiträge: 1
Antw:Ansteuerung SolvisMax/Solvis-Remote
« Antwort #130 am: 26 Mai 2021, 13:13:08 »
Hallo, habe einen SolvisMax mit Lea Wärmepumpe und SC3.
Möchte max. PV-Strom in die WP bringen, die SC3 bietet hier fast nichts, völlig unbrauchbar.
Gibt es für die SC3 auch eine Anbindung ?

Offline SCMP77

  • Developer
  • Full Member
  • ****
  • Beiträge: 135
    • GitHub SolvisSmartHomeServer
Antw:Ansteuerung SolvisMax/Solvis-Remote
« Antwort #131 am: 26 Mai 2021, 14:53:07 »
Hallo carmade,

Gibt es für die SC3 auch eine Anbindung ?

Leider nicht, da bei der SolvisControl3 es nicht mehr die Schnittstellen gibt, welche ich verwende.

Aber bei der SolvisControl 3 sollte es eigentlich auch ein Modbus-Interface geben, ich habe jetzt nur die Spezifikation für die neueren Versionen der SolvisControl 2 gefunden. Ich vermute aber, dass das auch für die SolvisControl 3 gelten müsste. Modbus ist so oder so der bessere Weg, da meine Lösung nur einen "Krücke" ist, die für bestimmte Kanäle kompliziert auf die grafische Oberfläche der SolvisControl gehen und dann mit Hilfe von OCR die Werte lesen/modifizieren muss. Der Modbus wäre auf jeden Fall die bessere Lösung.

https://solvis-files.s3.eu-central-1.amazonaws.com/seiten/produkte/solvisremote/Download/SolvisRemote+Modbus+Spezifikationen+201906.pdf

Ob man damit dann Dein PV-Problem lösen kann, kann ich nicht beurteilen.

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

 

decade-submarginal