Vitoconnect - Verbesserte Version

Begonnen von stefanru, 14 Dezember 2024, 23:32:17

Vorheriges Thema - Nächstes Thema

stefanru

Ok, ich habe das Modul mal geändert dass man alternativen angeben kann und deine eingepflegt.
Status oder so werte ich nicht aus, aber ob es das reading gibt und ob ein Wert kommt.

Schau mal wie es jetzt aussieht und ob ich alle Vorschläge von dir erwischt habe.

Mir fehlt gerade etwas die Zeit.
Wenn ich mehr hab können wir auch all deine Readings nochmal durchgehen.

Gruß,
Stefan
FHEM: Raspberry PI 400+SSD Viessmann, Fronius, BYD, Wunderground, Max, Shelly, ESPEasy, FHEMPY,...  Docker + Portainer: Immich, Authelia, Caddy, Gerbera, Paperless NGX
Maintainer: Vitoconnect
GIT: https://github.com/StefanRu1
Kaffeekasse: https://www.paypal.me/stefanru01

Schlimbo

Wow, du bist aber schnell. Danke!

Schaut gut aus :-)

Zwei Anpassungen habe ich noch gemacht:

Zeile 5048
    # 13 Hochdruck (Original: kein Wert)
    '%high_pres%' => => fmt_fallback($d, ' bar', 1,
        'heating.sensors.pressure.hotGas.value'
    ),


    # 7 Verdichterleistung
    '%comp_speed%' => fmt_fallback($d, ' %', 0,
        'heating.compressors.0.speed.current.value',
    'heating.compressors.0.sensors.power.value'
    ),

Viele Grüße
Schlimbo

stefanru

Danke!
Habs eingepfleg.

Hättest du auch irgendetwas für:
   # --- Logik für Stati und Farben ---
    my $valvePos    = ReadingsVal($d, 'heating.valves.fourThreeWay.position.value', '');
    my $isDefrost   = ReadingsVal($d, 'heating.outdoor.defrosting.active', 0);
    my $compActive  = ReadingsVal($d, 'heating.compressors.0.active', 0);
    my $secState    = ReadingsVal($d, 'heating.secondaryHeatGenerator.state.value', 'off');
    my $secTemp     = ReadingsVal($d, 'heating.secondaryHeatGenerator.temperature.current.value', '--');

Wenn wir da auch was haben zeige ich unten einen Status an und Färbe die Grafik falls Defrost oder WarmWasser aktiv ist.

Gruß,
Stefan
FHEM: Raspberry PI 400+SSD Viessmann, Fronius, BYD, Wunderground, Max, Shelly, ESPEasy, FHEMPY,...  Docker + Portainer: Immich, Authelia, Caddy, Gerbera, Paperless NGX
Maintainer: Vitoconnect
GIT: https://github.com/StefanRu1
Kaffeekasse: https://www.paypal.me/stefanru01

Schlimbo

Für Defrost und Kompressor läuft habe ich Readings:
$isDefrost  = heating.circuits.1.frostprotection.status
$compActive = heating.compressors.0.active
für das 3-Wege Ventil und die Zusatzheizung konnte ich leider keine Readings finden.

Zu den doppelten Readings, die bei mir die gleichen Wert haben, habe ich gerade auf der API Doku Seite von Viessmann gesehen, dass einige Readings abgekündigt sind und durch Neue ersetzt wurden. --> hier sollte man dann lieber gleich auf die neuen Readings setzen:
Zitatheating.sensors.temperature.liquidGas
(DEPRECATED it will be replaced by heating.evaporators.N.sensors.temperature.liquid) Shows information about the value and the status of the suctiongas temperature sensor.

heating.sensors.temperature.hotGas
(DEPRECATED it will be replaced by heating.compressors.N.sensors.temperature.outlet) Shows information about the value and the status of the hotgas temperature sensor.

heating.sensors.temperature.suctionGas
(DEPRECATED it will be replaced by heating.compressors.N.sensors.temperature.inlet) Shows information about the value and the status of the suctiongas temperature sensor.

heating.sensors.pressure.suctionGas
(DEPRECATED it will be replaced by heating.compressors.N.sensors.pressure.inlet) Shows information about the value and the status of the suction pressure sensor.
Quelle: https://api.viessmann-climatesolutions.com/documentation/data-points

stefanru

Hi Schlimbo,

habe deine Anmerkungen umgesetzt.
Es sollte dann auch defrost anzeigen.

Wenn es soweit ok ist würde ich es morgen auch einchecken.
Ich schaue jetzt mal wie ich die TabletUI Integration erklären kann.

Gruß,
Stefan
FHEM: Raspberry PI 400+SSD Viessmann, Fronius, BYD, Wunderground, Max, Shelly, ESPEasy, FHEMPY,...  Docker + Portainer: Immich, Authelia, Caddy, Gerbera, Paperless NGX
Maintainer: Vitoconnect
GIT: https://github.com/StefanRu1
Kaffeekasse: https://www.paypal.me/stefanru01

Schlimbo

Hi Stefan,

sorry, habe gerade gemerkt, dass das Reading heating.circuits.1.frostprotection.status doch nicht das richtige ist.
Das Reading ist nicht für's "Abtauen", sondern nur der Frostschutz der Kondenswasserwanne/Ablauf.

Für Abtauen habe ich leider doch kein passendes Reading.

Super wäre noch, wenn sich die Werte in der Grafik aktualisieren, sobald sich ein Reading ändert. Aktuell aktualisieren sie sich nur mit neu laden der Seite (F5).
Hast du hierzu vielleicht eine Idee, ob das umsetzbar wäre?

Gruß,
Schlimbo

Schlimbo

...und für $compActive hatten wir die gleiche Readings ;-)

my $compActive  = ReadingsVal($d, 'heating.compressors.0.active', undef) // ReadingsVal($d, 'heating.compressors.0.active', 0);

stefanru

Ok  ;D,
da hab ich aber gepennt.
Muss wohl mal Pause machen ;-)

Ok also im Anhang die neue Version und zusätzlich ein js und CSS um das ganze ins Tablet-UI einzubinden.
JS in den js Ordner und CSS in den css Ordner.
Dann einfach mit:
<div data-type="vitoconnect" data-device="VitoCal250AH" data-get="state" data-html="X"> einbinden ins Tablet-UI.

Werde das vorm einchecken nochmal durchgehen.

Gruß,
Stefan
FHEM: Raspberry PI 400+SSD Viessmann, Fronius, BYD, Wunderground, Max, Shelly, ESPEasy, FHEMPY,...  Docker + Portainer: Immich, Authelia, Caddy, Gerbera, Paperless NGX
Maintainer: Vitoconnect
GIT: https://github.com/StefanRu1
Kaffeekasse: https://www.paypal.me/stefanru01

uron

Moin, bin wieder an Board und sehe mit Vergnügen, dass ihr schon fleißg ward - gute Arbeit! Meinen Screenshot der aktuellen Modulversion anbei, auch den Screenshot des Kältekreislaufes an der WP habe ich beigefügt - wusste gar nicht, dass meine Anlage so etwas hergibt. Dank der Abbildung von Schlimbo bin ich drauf gekommen.
Meine Anlage hat auch 2 Lüfter. Was ich in beiden Abbildungen nicht sehe, sind die VL der 2 Heizkreise (HK1 für Heizkörper, HK3 für FBH).
Mini-PC (FHEM im Container unter Proxmox)  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, Mini-PC (ioBroker im Container unter Proxmox)

stefanru

Hi Uron,
willkommen zurück ;-)

Ich denke er Zeigt HK1 und HK3 nicht an weil das der Kältekreislauf der WP darstellt, also wie die WP die Wärme erzeugt.
Den Pufferspeicher rechts habe ich hinzugefügt den gibt es im normalen Kältekreislauf von Viessmann auch nicht.
Man könnte die Heizkreise natürlich auch noch wo hinzufügen, ich wüsste aber auf Anhieb nicht wo.

Deine WP ist im Standby?
Die Zahlen sehen nicht wirklich korrekt aus, liegt aber vielleicht am Standby Modus?
Kannst du mal einen Screenshot schicken wenn sie läuft?

Danke und Gruß,
Stefan
FHEM: Raspberry PI 400+SSD Viessmann, Fronius, BYD, Wunderground, Max, Shelly, ESPEasy, FHEMPY,...  Docker + Portainer: Immich, Authelia, Caddy, Gerbera, Paperless NGX
Maintainer: Vitoconnect
GIT: https://github.com/StefanRu1
Kaffeekasse: https://www.paypal.me/stefanru01

uron

#460
Anbei die fast gleichzeitig gefertigten Screenshots bei "aktiver" WP.
Der Wert "Standby" im Stillstand kommt möglicherweise vom HK2, der dauerhaft nicht in Betrieb ist!
heating.circuits.1.operating.modes.active.value standby oder
heating.circuits.1.operating.programs.active.value standby
Solltest du ernsthaft nach Platz für die Temperaturangaben der HK2 und HK3 suchen, hätte ich den Vorschlag, sie auf der rechten Seite, unterhalb von "HK" platzieren (HK könnte dann "HK1" werden). Dann den roten VL-Strang nach weiter unten verlegen – ist aber nicht wirklich ganz wichtig, halt nice to have!
Mini-PC (FHEM im Container unter Proxmox)  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, Mini-PC (ioBroker im Container unter Proxmox)

stefanru

#461
Ok, da ist aber etwas falsch an den Werten!
Vor dem externen Wärmetauscher sollte die temp nicht 32,7 Grad sein. Es scheint 8,5 oder 6,3 zu sein, wenn ich das richtig sehe
Das würde eher hinter den internen zum Heizkreis passen.
Es soll ja beim Verdampfen Wärme von außen aufnehmen.
Das geht nur wenn die Temp unter der Außen Temp liegt.
Im Laufe des Verdampfens wird es noch kälter hat aber Wärme aufgenommen der Druck sinkt halt immer weiter bis es dann zum Kompressor kommt.
Da wird dann Verflüssigt mit hohem Druck und du kommst auf die 64,4.
Die wird dann an die Heizung abgegeben.
Danach sollte die temp dann minimal unter dem Heizkreis Rücklauf liegen
Dann wird der Druck wieder reduziert und das Spiel geht von vorne los.

Siehe mal mein Bild:Du darfst diesen Dateianhang nicht ansehen.
FHEM: Raspberry PI 400+SSD Viessmann, Fronius, BYD, Wunderground, Max, Shelly, ESPEasy, FHEMPY,...  Docker + Portainer: Immich, Authelia, Caddy, Gerbera, Paperless NGX
Maintainer: Vitoconnect
GIT: https://github.com/StefanRu1
Kaffeekasse: https://www.paypal.me/stefanru01

Schlimbo

kann es sein, dass bei uns "heating.evaporators.0.sensors.temperature.liquid.value" nach %cond_tmp% gemappt werden müsste?