Vitoconnect - Verbesserte Version

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

Vorheriges Thema - Nächstes Thema

stefanru

Hi Uron,

danke für die Rückmeldung!
Dachte schon das interessiert keinen ;-)

Oh cool du bekommst ein hotGas value!
Welches Gerät hast du?
Ich habe eine Vitocal 250 AH und das reading existiert bei mir ist aber 0:
heating.compressors.0.sensors.temperature.hotGas.value 0

Kannst du mal einen Screenshot von deiner Anlage schicken, nur damit ich ein Gefühl bekomme?
Das ganze ist schwierig wenn die Viessmann API bei jeder Anlage andere Daten sendet.

Der Doppelkreis ist mir auch nicht ganz klar wird aber im Viessmann Kälteschema genauso angezeigt.
Vielleicht hat ja jemand hier im Forum eine Idee?

Fürs Tablet UI werde ich noch etwas bauen dass das Schema als html zurück gegeben wird wie im SolarForecast modul.
Zur Zeit komme ich leider nicht dazu.
Aber ich werde das wenn ich etwas Zeit finde noch einbauen und dann eine neue Version releasen.

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

Ach vom Display des Gerätes selbst kommt das Anlagenschema, so eine neue Anlage habe ich leider nicht. Meine Vitocal 200-S AWB-E-AC 201.D16 hat kein Grafikdisplay  >:(
Jetzt verstehst du vielleicht, warum ich mich über deine Modulerweiterung freue.
Ich liefere aber dennoch den Screenshot meiner Anlage.
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

Danke,

ja genau die Vitocal haben das im Service Menü versteckt.
Soweit ich weiß aber auch ältere WP im Servicemenü unter Diagnose.

Schade dass bei dir so viele Werte fehlen.
Du nutzt Raw Readings?

Seltsam dass sogar die Außentemperatur fehlt.
Hat dein Gerät andere Readings?

Hier mal das Mapping im Modul, vielleicht kannst du mal schauen warum dir diese Readings fehlen, bzw. ob die ein anderes Mapping benötigen würdest:

    my %map = (
        '%out_tmp%'        => $fmt->('heating.sensors.temperature.outside.value', ' °C', 1),
        '%evp_tmp%'        => $fmt->('heating.evaporators.0.sensors.temperature.liquid.value', ' °C', 1),
        '%evp_tmp_over%'   => $fmt->('heating.evaporators.0.sensors.temperature.overheat.value', ' °C', 1),
        '%comp_in%'        => $fmt->('heating.compressors.0.sensors.temperature.inlet.value', ' °C', 1),
        '%comp_out%'       => $fmt->('heating.compressors.0.sensors.temperature.outlet.value', ' °C', 1),
        '%comp_motor%'     => $fmt->('heating.compressors.0.sensors.temperature.motorChamber.value', ' °C', 1),
        '%eco_tmp%'        => $fmt->('heating.economizers.0.sensors.temperature.liquid.value', ' °C', 1),
        '%cond_tmp%'       => $fmt->('heating.condensors.0.sensors.temperature.liquid.value', ' °C', 1),
        '%heat_suppl%'     => $fmt->('heating.secondaryCircuit.sensors.temperature.supply.value', ' °C', 1),
        '%heat_return%'    => $fmt->('heating.sensors.temperature.return.value', ' °C', 1),
        '%dhw_tmp%'        => $fmt->('heating.dhw.sensors.temperature.hotWaterStorage.value', ' °C', 1),
        '%heat_tmp%'       => $fmt->('heating.buffer.sensors.temperature.main.value', ' °C', 1),

        '%comp_pres%'      => $fmt->('heating.compressors.0.sensors.pressure.inlet.value', ' bar', 2),
        '%heat_pres%'      => $fmt->('heating.sensors.pressure.supply.value', ' bar', 1),
        '%high_pres%'      => 'kein Wert',

        '%comp_speed%'     => $fmt->('heating.compressors.0.speed.current.value', ' %', 0),
        '%fan0%'           => $fmt->('heating.primaryCircuit.fans.0.current.value', ' %', 0),
        '%fan1%'           => $fmt->('heating.primaryCircuit.fans.1.current.value', ' %', 0),
        '%valve0%'         => $fmt->('heating.sensors.valve.0.expansion.target.value', ' %', 0),
        '%valve1%'         => $fmt->('heating.sensors.valve.1.expansion.target.value', ' %', 0),
        '%pump1%'          => $fmt->('heating.boiler.pumps.internal.current.value', ' %', 0),
        '%allengra%'       => $fmt->('heating.sensors.volumetricFlow.allengra.value', ' l/h', 0),

        '%inv_tmp%'        => $fmt->('heating.inverters.0.sensors.temperature.powerModule.value', ' °C', 1),
        '%inv_watt%'       => $fmt->('heating.inverters.0.sensors.power.output.value', ' W', 0),
        '%inv_amp%'        => $fmt->('heating.inverters.0.sensors.power.current.value', ' A', 1),
        '%comp_oil%'       => $fmt->('heating.compressors.0.sensors.temperature.oil.value', ' °C', 1),


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

Readings habe ich ohne Ende, ohne dass ich sie wirklich übersetzen kann - auch doppelte. Ich müsste mal eine Vergleichstabelle machen, die meine und deine Werte spiegelt.
Beispiel: das Reading "Außentemperatur" (ja. so im Klartext) steht aktuell bei 3.6, das entspricht dem Wert, der durch ein anderes Thermometer gemessen wird.
In den Readings findet sich unter nachfolgenden EInträgen der gleiche Wert wieder
- heating.cop.heating.value
- heating.cop.total.value
Hab am Do eine OP und werde mich nächste Woche der Vergleichstabelle mal in Ruhe annehmen können! Ideal wäre natürlich zu wissen, welche Werte sich hinter den Platzhaltern in meiner Grafik verbergen, vielleicht finde ich sie bei mir dann ja schneller.
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

Ok,

das wäre sehr interessant.
Ich habe versucht die Variablen Namen sprechend zu halten und ich kann dir aktuelle daten von mir geben.
comp = compressor
inv = inverter
evp = evaporator
eco = economizer

Wenn du mir passende Mappings bei deinem Gerät lieferst baue ich es oder verknüpft ein.
Heißt er nimmt die Werte die da sind und du bekommst auch überall Zahlen in der Grafik.
Wäre toll wenn du mir einige mappings raussuchen könntest, ich baue es dann sehr gerne ein.

Viel Erfolg bei deiner OP und ich freue mich auf deine Mappings.
Wenn du irgendwie beim Mappen Hilfe brauchst melde dich bei mir.

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

Beim "Mappen stehe ichg auf dem Schlauch" Wie bekomme ich entsprechende Liste, die du verwerten kannst oder sind das die Readings?
Wenn du mir bis morgen Mittag Rückmeldung gibst, liefere ich noch vor der OP!
Für huete bin ich aber raus!
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,

ist für mich nicht eilig.
Tablet UI Integration habe ich geschafft ;-)
Sobald ich ein Moment Zeit habe lade ich es hoch mit Erklärung.

Zu deinem mapping:
Siehe oben mein post mit my map =
Das sind meine Datenpunkte.
z.B.
'%comp_out%'       => $fmt->('heating.compressors.0.sensors.temperature.outlet.value', ' °C', 1),

Meine Variable heißt comp_out für Compressor Ausgang und in meiner API ist das heating.compressors.0.sensors.temperature.outlet.value.
Du nennst mir nun deinen passenden Wert dazu und ich mappe beide je nachdem was vorhanden ist.
Damit bekommst du dann dort auch eine Anzeige.

Falls es dir sonst wie weiterhilft hier die Variablen auch im Bild.
Ich würde aber versuchen die Liste oben my map jeden Wert auf einen passenden von dir zu mappen.

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

Sorry, ich stehe auf dem Schlauch:
Wenn ich die fehlenden Readings in meiner Anlage benennen soll, müsste ich wissen, welche deiner Werte in meiner Grafik fehlen. Kannst du mir die nennen, dann erst kann ich auf die Suche gehen.
Beispiel: an welcher Stelle in der Grafik erscheint dein Wert "'%comp_out%'      => $fmt->('heating.compressors.0.sensors.temperature.outlet.value', ' °C', 1),"
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)

uron

#443
So, mit der Grafik und den eingetragenen Datenpunkten habe ich per SuFu Ählichkeiten in meinen Readings gesucht und gerade mal zwei Datenpunkte, die über das Modul hereinkommen bei mir gefunden:
Dein '%out_tmp%' => $fmt->('heating.sensors.temperature.outside.value', ' °C', 1), ist bei mir im Reading "Aussentemperatur" -  schlicht und einfach "Aussentemperatur". Der ursprünglich oben angegebene Datenpunkt "heating.cop.total.value" ist falsch!

Der Punkt '%dhw_tmp%' => $fmt->('heating.dhw.sensors.temperature.hotWaterStorage.value', ' °C', 1), ist bei mir sicher gleichzusetzen mit dem Datenpunkt heating.dhw.sensors.temperature.hotWaterStorage.top.value, ein anderer Datenpunkt mit "bottom" ist "not connected", also bleibt nur der "top"!

Das wars! Ich hatte früher auch mal im ioBroker den Adapter "viessmannapi" auf einem Parallelsystem mitlaufen und ich hatte das Gefühl, der hat mehr Datenpunkte geliefert, leider bekomme ich den Adapter im Moment aber nicht mehr ans Laufen, sonst könnte ich mir dort die Datenpunkte zu FHEM holen. Da bleibe ich demnächst am Ball.

NACHTRAG: Mittlerweile hab ich doch noch den ioB-Adapter zum Laufen gebracht und habe damit Zugriff auf viel mehr Datenpunkte. Es bleiben die Zuordnungsprobleme zu deinem Mapping, da die Datenpunkte andere Bezeichungen haben:
Beispiel: Dein Datenpunkt  '%heat_pres%' => $fmt->('heating.sensors.pressure.supply.value', ' bar', 1),
Dazu finde ich in meiner Anlage heating.sensors.pressure.hotGas.properties.value.value und heating.sensors.pressure.suctionGas.properties.value.value aber keinen Pfad mit "pressure.supply...."
Welcher Wert nun gemappt werden sollte, weiß ich nicht!
Ähnliches zeigt sich an vielen anderen Stellen, eine 1:1-Übersetzung fällt deshalb schwer!

Ach ja, und das Thema "Außentemperatur" finde ich im ioB noch unter einem anderen Ort.
Bleibt die Frage wie ich weiter vorgehen sollte, da das Mappen wahrscheinlich sehr anlagenspezifisch ist und du es ja nicht für jeden Anwender umschreiben kannst!?
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,
naja ich würde erstmal versuchen einfach mehrere Datenpunkte abzufragen.
Z.b. bei der %out_tmp%
Da würde ich versuchen:
heating.sensors.temperature.outside.value wenn da nichts kommt dann den von dir vorgeschlagenen Aussentemperatur.

Aber dazu habe ich eine Frage, Außentemperatur kann es eigentlich nicht geben, da alle mappings bei Viessmann englisch sind.
Bist du sicher dass du das Modul mit:
vitoconnect_raw_readings 1
betreibst?

Das wäre schon Vorraussetzung, ich möchte hier nicht noch das alte Mapping dazwischen haben.

Viel Erfolg für die OP und melde dich einfach danach wenn es wieder geht bei mir.

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

#445
Eine letzte Aktion vorerst:
Woher die deutschsprachigen Readings kommen, bekomme ich nicht mehr zusammen, eingerichtet hatte ich die Anlage vor ein paar Jahren.
vitoconnect_raw_readings 1 habe ich jetzt erst aktiviert und nun die Readings einmal in der Anlage als pdf (anonymisiert) beigefügt - vielleicht siehst du ja mehr.
Die schedule habe ich zum Zwecke von mehr Übersicht hier herausgelöscht!

Bis demnächst und Danke für die guten Wünsche, wird schon werden!

Sehe gerade: WW-Termperatur erscheint jetzt auch in der Grafik!
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

Naja,

bevor ich das Modul übernommen habe wurde alles auf deutsche Bezeichner gemapped.
Das Problem damit ist dass Viessmann öfter an der API dreht und diese Mappings von Viessmann API zu eigenen deutschen Namen veralltet.
Auch hat Viessmann mittlerweile wegen des EU Data acts ganz viele neue Readings eingeführt.

Am besten ist es das Modul nur mit raw readings zu betreiben.
Du hast dann keine deutschen kurz Bezeichner aber dafür alle API Endpoints genau wie Viessmann sie liefert.

Ich schau mir dein PDF mal an und lass uns einfach nochmal reden wenn du zurück bist, viel Glück.

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