openv / vcontrold

:fire: vcontrold Daemon for control and logging of Viessmann® type heating devices
https://github.com/openv/openv/wiki
GNU General Public License v3.0
100 stars 54 forks source link

Schornsteinfeger Modus abfragen #132

Open Bjoern3003 opened 11 months ago

Bjoern3003 commented 11 months ago

Weiss jemand, ob man an per vcontrold irgendwie aus der Viessmann rausbekommt, OB der Schornsteinfegermodus aktiv ist?

Im speziellen um die Vitodens 300 WB3A

Ich muss ihn nicht mal aktivieren können, würde aber gerne darauf reagieren können (alle Ventile im Haus öffnen, sodass die Temperatur weg transportiert werden kann).

philippoo66 commented 10 months ago

Moin Bjoern!

versuch es vielleicht mal mit 0x0B10 (Byte)

grafik

grafik

gelistet ist die Adresse allerdings nur in VBC550P, was mir eine Palletheizung zu sein scheint, und frag mich nicht, was SC100 ist, aber es ist das einzige, was ich mit 'schorn', 'prüf' oder so gefunden habe

Grüsse! Phil

Bjoern3003 commented 10 months ago

Das ist leider ein anderes Protokoll, wie ich es verwende. Ich kann hier keine Bytes abfragen. Das läuft ja alles über vcontrold.

Schaut dann in der XML so aus: https://github.com/openv/vcontrold/blob/master/xml/300/vito.xml

philippoo66 commented 10 months ago

du müsstest in die xml diesen Datenpunkt einbauen.

<command name="getSchorniMode" protocmd="getaddr">
  <addr>0B10</addr>
  <len>1</len>
  <bit>3</bit>
  <unit>BST</unit>
  <description>Ermittle Schorni Modus einer SC100</description>
</command>

bei der Einheit bin ich jetzt nicht sicher, ein Bit hat ja eigentlich keine Einheit, nur 1 oder 0. da müsste man in den Sourcen nachschauen. was keine Einheit ist. evtl auch erstmal das mit dem Bit weglassen und das ganze Byte auslesen und schauen was sich verändert. Und natürlich kannst du mit jedem der 3 Optolink Protokolle ein Byte 'abfragen' https://github.com/openv/openv/wiki/Protokolle vcontrold nutzt ja diese Protokolle.

Grüsse!

Bjoern3003 commented 9 months ago

Habe es nun endlich mal geschafft, das ganze durchzutesten.

Bin im dem Thema nicht wirklich fit, daher mal meine Ergebnisse. Hat natürlich NICHT funktioniert.

Dein Code oben ergab immer 1

Dein Code ohne <bit> ergab immer 0

Dein Code ohne <unit> ergibt immer FF.

Die Adresse 0B10 mit einer Länge von 6 auslesen ergibt IMMER FF FF FF FF FF FF (Meine Idee war, dass es eventuell auf einer anderen Position "versteckt" ist.)

Egal ob der Schornsteinfeder-Modus an oder aus ist.

philippoo66 commented 9 months ago

naja war ja auch nur ein "Stochern-im-Nebel-Versuch". Wahrscheinlich ist deine Steuerung keine "SC100". Ich hab aber leider keine Idee, an welcher Adresse man sonst gucken könnte. Es gibt bei den VScot Steuerungen eine Adresse, die glaubich mit 26 Bytes oder so gelesen wird, wo sich ne Menge Stati hinter verstecken - ich such das beizeiten mal raus, aber auch VScot ist wieder nicht passend zur WB3A.

Welche DP_Liste gehört eigentlich zu deiner Steuerung? Was steht an 00F8 (8 Bytes) und was an 00F0?

Bjoern3003 commented 9 months ago

00F8 = UNKNOWN (gibt es vermutlich bei mir auch nicht.

00F0 ist auch nicht definiert in der XML.

Welche DP_Liste gehört eigentlich zu deiner Steuerung? Was genau ist eine "DP_Liste?

Ich benutze 20CB oder auch VScotH01, wenn du das meinst.

philippoo66 commented 9 months ago

Adresse 00F8 gibt es immer. Leider ist die 'Unit' dahinter maximal unvollständig, es gibt 4 definierte Antworten, aber über 100 mögliche würde ich sagen.

Schreib mal in der vcontrold.xml bei Unit "DT" enum text=bytes statt enum text="UNKNOWN" ich hoffe, es liefert dann die Bytes.

Auch F0 gibt es eigentlich immer, das sind ja Speicheradressen, und kein F8 ohne 8 Bytes vorher liegendes F0 würde ich sagen.

aber VScotH01 hilft schon mal, dann gibt es gute Chancen auf den "Multi-Info-Datenpunkt". Ich schau den mal nach, sobald ich kurz Zeit hab.