innotech alpha

Einbindung von Wärmepumpen zur Visualisierung / Steuerung in openWB
Benutzeravatar
Thomas aus W
Beiträge: 737
Registriert: Mi Apr 01, 2020 4:00 pm

Re: Smarthome 2.0 Steuerung und Überschussberechnung

Beitrag von Thomas aus W »

Ich würde gern mal meinen Fall in die Diskussion werfen:

Ich habe eine etwas dümmliche Wärmepumpe von innotech alpha.
Mein Ziel ist es, dass die WP gegenüber den Ladepunkten priorisiert wird, aber nicht läuft, wenn ein anderer Großverbraucher im Haus läuft (Wachmaschine, Trockner, Herd, Wasserkocher...)

Die WP hat einen potenzialfreien Kontakt um vom WR das Signal "Überschuss vorhanden" zu bekommen. Den schalte ich aktuell über einen Schelly als Smarthome-2.0 device.
Die Leistung der WP wird gesondert erfasst und nicht in den Hausverbrauch eingerechnet.

Leider funktioniert das nur mittelprächtig, weil die WP nach anlegen des Signal zwar brav das Trinkwasser heizt, dann aber 10h lang nichts mehr tut, um dann in der Nacht doch wieder Warmwasser zu produzieren. Die Lösung ist also dysfunktional.

Meine Idee ist nun, Netzbetreiber zu spielen, und die SmartGrid-Funktionalität der WP zu nutzen. Das sind 2 potenzialfreie Kontakte mit folgendender Logik:

Code: Alles auswählen

                   | SG1
                   | offen                    | geschlossen
 ------------------+--------------------------+--------------------
  SG2 geschlossen  | Normalbetrieb            | höhere Schwellwerte
          offen    | reduzierte Schwellwerte  | gesperrt
Glücklicher Weise hat mein Shelly schon 2 Schalter (https://shelly.cloud/knowledge-base/dev ... lly-pro-2/).

Der Plan ist jetzt folgender:
  • solange die Solarleistung (nicht der Überschuss) unter 3kW liegt (das ist die Startleistung der WP) soll die WP im Normalmodus laufen (0/1)
  • Liegt der Überschuss (PV - Hausverbrauch, Ladeleistung LPs und Hausakku nicht berücksichtigen) über 3kW soll der "Boost Modus" aktiviert werden (1/1)
  • liegt PV über 3kW aber der Überschuss (ohne LPs/Akku) darunter soll die WP gesperrt werden (1/0)
  • den vierten Zustand (0/0) will ich nicht (unbedingt) nutzen.
Ich habe mir zum Shelly noch 2 Hutschienen Wechslerrelais besorgt, da der Shelly nur Schließerkontakte, aber keine Öffner hat. Damit kann ich also eine Negation erreichen, falls das nötig sein sollte.

Die Frage ist nun, wie konfiguriere ich die OWB nun am geschicktesten, um meinen Plan umzusetzen? 2 Smarthome-2.0 Devices?

Ich dachte daran, die WP als HTTP-Device zu konfigurieren und als URL ein Python-Script anzugeben, dass dann die Berechnungen macht, den shelly ansteuert und den Zustand zurück gibt. Nur wie komme ich in dem Skript an die benötigten Daten (PV-Leistung und Hausverbrauch)? Per MQTT?
Und um zu entscheiden, ob die WP gerade läuft wäre deren aktuell Bezugsleistung interessant. wie käme ich denn da dran? Wäre die auch per MQTT abrufbar?

bye
TW
Micha982
Beiträge: 162
Registriert: Di Jan 04, 2022 12:38 pm

Re: Smarthome 2.0 Steuerung und Überschussberechnung

Beitrag von Micha982 »

Hallo,
Ich habe eine etwas dümmliche Wärmepumpe von innotech alpha.
kannst Du nicht das nachfolgende Modul nutzen und der WP den konkreten Überstrom mitteilen?

https://www.google.com/url?sa=t&rct=j&q ... Zhm7aN2u11
Solaredge Wechselrichter SE10K-RWS & SE10K-RW
PV-Anlagenleistung ca. 28 kWp
Solarfocus Wärmepumpe
1 x Renault Twingo ZE
1 x Renault Megane E-Tech
Benutzeravatar
Thomas aus W
Beiträge: 737
Registriert: Mi Apr 01, 2020 4:00 pm

Re: Smarthome 2.0 Steuerung und Überschussberechnung

Beitrag von Thomas aus W »

Micha982 hat geschrieben: Do Mai 19, 2022 7:19 pm Hallo,
Ich habe eine etwas dümmliche Wärmepumpe von innotech alpha.
kannst Du nicht das nachfolgende Modul nutzen und der WP den konkreten Überstrom mitteilen?

https://www.google.com/url?sa=t&rct=j&q ... Zhm7aN2u11
Nein. Da geht es nur um den Wartungszugang.

Eine Steuerung per LAN in dem Sinne wie wir (als OWB-Gemeinde) uns das vorstellen ist damit nicht möglich.

bye
TW
okaegi
Beiträge: 2185
Registriert: Fr Mär 08, 2019 1:57 pm

innotech alpha

Beitrag von okaegi »

Beiträge verschoben
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update :!: ): viewtopic.php?f=14&t=5923
okaegi
Beiträge: 2185
Registriert: Fr Mär 08, 2019 1:57 pm

Re: innotech alpha

Beitrag von okaegi »

Nimm hier am besten die Werte aus mqtt. Im smartmq log siehst du du die entsprechenden Topics die du lesen kannst.

Code: Alles auswählen

2022-05-20 11:01:09-: Mq pub openWB/SmartHome/Devices/1/Watt=63 old 64
2022-05-20 11:01:09-: Mq pub openWB/SmartHome/Devices/1/RunningTimeToday=8658 old 8651
Gruss Oliver
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update :!: ): viewtopic.php?f=14&t=5923
Benutzeravatar
Thomas aus W
Beiträge: 737
Registriert: Mi Apr 01, 2020 4:00 pm

Re: innotech alpha

Beitrag von Thomas aus W »

Danke, auch für's Verschieben.
okaegi hat geschrieben: Fr Mai 20, 2022 9:02 am Im smartmq log siehst du du die entsprechenden Topics die du lesen kannst.
Dazu benötige ich noch

openWB/pv/W 0
# PV Leistung in Watt, Erzeugung ist negativ

und
openWB/global/WHouseConsumption 4368
# Hausverbrauch (errechnet aus PV, EVU, EV, Speicher) in Watt,

Korrekt?
In WHouseConsumption dürfte die Leisung der WP ja nicht drin sein, weil ich in deren SH-Config "nicht in Hausverbrauch einrechenen" angeklickt hab, richtig?


[edit]
Noch mal zur generellen Vorgehensweise:
Ich brauche also ein Script, dass die MQTT-Daten abfragt, die Berechnungen macht, den Shelly steuert und den Status der WP in eine Datei in der Ramdisk schreibt, und das mit dem booten der OWB startet und dann in einer Loop läuft.

Und dann brauche ich ein zweites Script, das ich in der http-Konfig des Smarthome-2.0-Devices im "URL"-Feld angebe und das den Wert aus der Ramdisk-Datei liest und zurück gibt.

Passt das so in etwa?

bye
TW
Benutzeravatar
Thomas aus W
Beiträge: 737
Registriert: Mi Apr 01, 2020 4:00 pm

Re: innotech alpha - Problem mit Python

Beitrag von Thomas aus W »

Die MQTT Abfrage funktioniert schon. :D

Zum Rechnen muss ich aber den String, den ich aus dem MQTT bekomme in einen int umwandelt. das versuche ich mit

Code: Alles auswählen

int(msg.payload.decode())
. Dabei kackt Python aber ab. Es gibt zwar keine Fehlermeldung, aber die Bearbeitung wird genau an dieser Stelle abgebrochen. Der rest der Methode wird ignoriert.

Ich nutze zur Entwicklung den Raspi der OWB selbst, da läuft Python 3.5.3.

Hat jemand einen Tipp für mich, wie ich erfolgreich den String in einen int umwandle?

bye
TW
LutzB
Beiträge: 3476
Registriert: Di Feb 25, 2020 9:23 am

Re: innotech alpha

Beitrag von LutzB »

Lass das .decode() einfach weg.
Benutzeravatar
Thomas aus W
Beiträge: 737
Registriert: Mi Apr 01, 2020 4:00 pm

Re: innotech alpha

Beitrag von Thomas aus W »

LutzB hat geschrieben: Fr Mai 20, 2022 6:32 pm Lass das .decode() einfach weg.
OK.

Kannst Du noch was zu diesem Fehler sagen?

Code: Alles auswählen

 File "test.py", line 43
    print(F'wp power  is: {power_values_W[topic_wp]}W')
                                                      ^
   
LutzB
Beiträge: 3476
Registriert: Di Feb 25, 2020 9:23 am

Re: innotech alpha

Beitrag von LutzB »

Die Fehlermeldung fehlt. Ist also mehr eine Fehltmeldung. :D
Antworten