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

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

Bitte beachten, dass die beiden schematischen Darstellungen spiegelverkehrt zueinander sind.
  • Im FHEM-Modul ist die Außeneinheit mit Verdampfer und Ventilatoren links dargestellt und der Verflüssiger (Heizkreis / WW) rechts.
  • Im Viessmann-Display Der Vitocal 200-S ist es genau umgekehrt: Verdampfer rechts, Verflüssiger links.

stefanru

#463
Ja ich denke auch.
Bei mir ist die Temperatur dort aber sogar etwas niedriger wie der Rücklauf im Heizkreis.
Aber passen würde das eher bei euch.
Hmm, jetzt wirds aber blöd wir haben also beide einen Sensorwert:
heating.evaporators.0.sensors.temperature.liquid.value
Aber bei mir ist er etwas unter Außentemp und bei euch etwas über Rücklauftemp?

Wir reden von evp_tmp vorm verdampfer und cond_temp nach dem Heizkreis.
Bei mir passt es so:
    # 14 Kondensator
    '%cond_tmp%' => vitoconnect_fmt_fallback($d, ' &#176;C', 1,
        'heating.condensors.0.sensors.temperature.liquid.value'
    ),

    # 18 Verdampfer Flüssiggas / Sauggas
    '%evp_tmp%' => vitoconnect_fmt_fallback($d, ' &#176;C', 1,
        'heating.evaporators.0.sensors.temperature.liquid.value'
    ),

Und bei euch heißen der Datenpunkt auch so? Das ist aber echt seltsam.
Was macht Viessmann denn da?
Ich glaub hier brauchen wir nen Heizungsfachmann  :o
Wenn ich mir euer Schema genau anschaue würde ich ja behaupten das ist nicht die evp_tmp.
Bei euch ist das nach dem Kondensor und vor dem Druckminderer eingemalt, damit ist es doch der Wert nach dem condenser und nicht der vor dem evaporator.
Also ich würde es ja um mappen, aber wie stelle ich fest das ich es um mappen muss?
Klar ich könnte es als alternativwert an cond_tmp hängen dann würde das bei euch dort angezeigt aber auch nochmal nach den Druckminderern vor dem Verdampfer,
Irgendeine Idee?

Ja es ist spiegelverkehrt da ich die Anzeige meiner Vitocal 250 als Vorlage genommen habe.

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

In deinem Foto hat mich gerade die Flussrichtung etwas verwirrt. Aber ich denke, das liegt daran, dass deine Anlage gerade im Abtaubetrieb war. Könntest du bitte noch ein Foto vom Heizbetrieb schicken?