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