Plugin-Daten | |
---|---|
Autor | Fabian Franzmann Ehemals: Thomas Galland |
Logo | ![]() |
Status | STABLE |
Version | 0.1.4 |
Min. LB Version | 1.4.2 |
Release Download | https://github.com/challo2018/LoxBerry-Plugin-Vitoconnect/archive/refs/tags/v1.0.0.zip |
Beschreibung | Einbinden der Viessmann Online API in Loxberry um Daten der Heizung über die Vitoconnect 100 abzufragen. Die zurückgelieferten Daten werden per HTTP bzw. MQTT bereitgestellt. |
Sprachen | DE,EN |
Diskussion | https://www.loxforum.com/forum/projektforen/loxberry/plugins/226290-loxberry-vitoconnect |
Das Plugin ist auf Github veröffentlicht und kann direkt von dort bezogen werden
Siehe Download Sektion im Header
Nach Installation des Plugins ist eine Ersteinrichtung erforderlich um die Daten von Viessmann abrufen zu können bzw. die Daten per MQTT / HTML übermitteln zu können.
Für die Nutzung ist ein Viessmann Developer Portal Konto erforderlich. Im Plugin muss das dazugehörige Benutzerkonto (E-Mail Adresse), Kennwort sowie ein API-Key hinterlegt werden.
Aufgrund der Menge der übermittelten Daten wird eine Nutzung des MQTT Plugins von Christian Fenzl empfohlen.
Es sollte immer nur eine Übermittlungsart (MQTT oder HTML) aktiv sein.
Das Abholen der Daten kann entweder manuell über einen virtuellen Ausgang im Miniserver oder aber automatisiert per CRON Job erfolgen.
Die Konfigurationsdatei am Loxberry wird erst nach dem ersten Aufrufen der Settings Seite und Abspeichern erstellt und abgespeichert (JSON Format)
vitoconnect
Wichtig: Bevor das VitoConnect Plugin die Daten an das MQTT Plugin senden kann, muss unter den "Subscriptions" im MQTT Plugin das "Base Topic" des Vitoconnect Plugins hinterlegt werden.
Default Base Topic: vitoconnect ⇒ Subscription: vitoconnect /#.
Viessmann übermittelt einige Werte z.B. Zeiträume für Eco-/Normalbetrieb oder aber den aktuellen/vergangenen Fehlerstatus als Array zurück.
Damit dieses Array bei MQTT aufgelöst und die Daten als Einzelwerte übertragen werden, muss im MQTT Plugin in den Einstellungen zwingend der Haken "Expand JSON Data" aktiviert werden
Anzeige des Links zum manuellen antriggern des Datenabholens (bei deaktivierten CronJob)
Anzeige der allgemeinen Installationsinformation:
Anzeige der detaillierten Installationsinformation: (Ausschnitt)
siehe Download im Anhang.
Für die Einrichtung der virtuellen Eingänge für MQTT siehe: MQTT - Schritt für Schritt: MQTT -> Loxone
Für jeden zu übertragenden Wert ist ein virtueller Eingang in LoxConfig anzulegen.
Abhängig davon welche Werte übertragen werden sollen, ist ein virtueller Eingang ( Boolean, Zahlen) oder ein virtueller Texteingang (String) nötig.
Werden Zahlen übertragen (Ganzzahlen oder Gleitkomma) so ist im virtuellen Eingang der Haken bei "Als Digitaleingang verwenden" zu entfernen
Der Name (Bezeichnung) des Eingangs ist der Name des MQTT Topic (Siehe MQTT Plugin → Incoming View)
Unter Beschreibung kann ein sprechender Name für die Darstellung in der App/Webseite vergeben werden
MQTT Topic | Beschreibung |
vitoconnect_aggregatedstatus | Umschreibung für den Gesamtstatus (WorksProperly = Alles in Ordnung) |
vitoconnect_aggregatedstatus_ok | Binärer Wert. Wenn 1, dann OK. 0 Sonst. |
vitoconnect_timestamp | Zeitpunkt der Datenübermittlung |
vitoconnect_timestamp_latestdata_lox | Loxone Epochtime (Sekunden seit 2009) des aktuellsten Timestamps in den Daten. Jedes Datum hat einen eigenen Timestamp, manche dieser Timestamps ändern sich häufiger als andere. So kann man erkennen, wenn die Daten insgesamt veraltet sind. |
vitoconnect_heating_circuits_0_operating_modes_active_value | aktueller Betriebsmodus forcedNormal = Dauerbetrieb Normal forcedReduces= Dauerbetrieb Reduzierte Temperatur / Eco dhwAndHeating =Warmwasser und Heizung zeitgesteuert dhw = Warmwasser zeitgesteuert standby= aus |
vitoconnect_heating_circuits_0_operating_modes_active_value_enum | aktueller Betriebsmodus, als integer basiertes enum (Status Bausteine arbeiten am besten mit Ints, UDP kann auch nur Int). Das gleiche pendant gibt es auch zum setzen der Werte.1= standby 2= dhwAndHeating 3= dhw 4= forcedNormal 5= forcedReduced |
vitoconnect_heating_circuits_0_operating_programs_active_value | Bei zeitgesteuerten Programmen wird hier der aktuelle Modus angezeigt normal = erhöhte Temperatur reduced = reduzierte Temperatur standby = Standby |
vitoconnect_heating_dhw_sensors_temperature_hotWaterStorage_value | aktuelle Temperatur im Pufferspeicher für Warmwasser |
vitoconnect_heating_dhw_temperature_main_value | aktuelle Solltemperatur für Warmwasser |
vitoconnect_heating_burner_statistics_hours | aktuelle Betriebsstunden |
vitoconnect_heating_burner_statistics_hours_starts | aktuelle Brennerstarts |
das Setzen von Werten ist über einen HTTP Befehl möglich.
http://<lbuser>:<lbpass>@loxberry:80/admin/plugins/Vitoconnect/vitoconnect.php?action=setvalue
das gewünschte Feature wird per option=YYY addressiert.
Der zu setzende Wert wird über value=XXX mitgegeben.
Um z.B. die Warmwassertemperatur auf 50 Grad zu setzen wäre der gesamte Befehl dann
http://<lbuser>:<lbpass>@loxberry:80/admin/plugins/Vitoconnect/vitoconnect.php?action=setvalue&option=heating.dhw.temperature.main&value=50
In nachfolgender Tabelle werden die aktuell implementierten Set Befehle näher beschrieben
Feature | Description | Value (Bitte auf korrekte Schreibweise achten, sonst geht es nicht !!!) |
heating.dhw.temperature.main | Warmwassertemperatur | min. 10 max. 60 |
heating.dhw.temperature.temp2 | Warmwassertemperatur 2 | min. 10 max. 60 |
heating.dhw.temperature.hysteresis | WW-Hysterese | min. 10 max. 60 |
heating.circuits.0.operating.modes.active | Betriebsmodus Heizkreis 1 | forcedNormal forcedReduced dhwAndHeating dhw standby |
heating.circuits.1.operating.modes.active | Betriebsmodus Heizkreis 2 | forcedNormal forcedReduced dhwAndHeating dhw standby |
heating.circuits.0.operating.modes.active.enum | Betriebsmodus Heizkreis 1 | 1=standby 2=dhwAndHeating 3=dhw 4=forcedNormal 5=forcedReduced |
heating.circuits.1.operating.modes.active.enum | ,Betriebsmodus Heizkreis 2Int-Basiert | |
heating.circuits.0.operating.programs.normal | Temperatur Heizkreis 1 Normalbetrieb | min. 3 max. 37 |
heating.circuits.1.operating.programs.normal | Temperatur Heizkreis 2 Normalbetrieb | min. 3 max. 37 |
heating.circuits.0.operating.programs.reduced | Temperatur Heizkreis 1 Reduzierter Betrieb | min. 3 max. 37 |
heating.circuits.1.operating.programs.reduced | Temperatur Heizkreis 2 Reduzierter Betrieb | min. 3 max. 37 |
heating.circuits.0.operating.programs.comfort | Temperatur Heizkreis 1 Komfortbetrieb | min. 3 max. 37 |
heating.circuits.1.operating.programs.comfort | Temperatur Heizkreis 2 Komfortbetrieb | min. 3 max. 37 |
heating.dhw.oneTimeCharge | Einmalige Aufladung des Warmwasserspeichers (soweit das Modell es unterstützt) | start stop |
ventilation.schedule | Zeitplan Vitovent Lüftungsanlage | Reduziert: {"mon":[{"start":"00:00","end":"24:00","mode":"reduced","position":0}],"tue":[{"start":"00:00","end":"24:00","mode":"reduced","position":0}],"wed":[{"start":"00:00","end":"24:00","mode":"reduced","position":0}],"thu":[{"start":"00:00","end":"24:00","mode":"reduced","position":0}],"fri":[{"start":"00:00","end":"24:00","mode":"reduced","position":0}],"sat":[{"start":"00:00","end":"24:00","mode":"reduced","position":0}],"sun":[{"start":"00:00","end":"24:00","mode":"reduced","position":0}]} Normal: {"mon":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"tue":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"wed":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"thu":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"fri":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"sat":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"sun":[{"start":"00:00","end":"24:00","mode":"standard","position":0}]} Intensiv: {"mon":[{"start":"00:00","end":"24:00","mode":"intensive","position":0}],"tue":[{"start":"00:00","end":"24:00","mode":"intensive","position":0}],"wed":[{"start":"00:00","end":"24:00","mode":"intensive","position":0}],"thu":[{"start":"00:00","end":"24:00","mode":"intensive","position":0}],"fri":[{"start":"00:00","end":"24:00","mode":"intensive","position":0}],"sat":[{"start":"00:00","end":"24:00","mode":"intensive","position":0}],"sun":[{"start":"00:00","end":"24:00","mode":"intensive","position":0}]} Aus: {"sun":[],"tue":[],"thu":[],"sat":[],"fri":[],"wed":[],"mon":[]} |
heating.dhw.schedule | Zeitplan Warmwasser | Zeitplan: {"mon":[{"start":"05:50","end":"08:30","mode":"top","position":0},{"start":"17:00","end":"22:30","mode":"normal","position":1}],"tue":[{"start":"05:50","end":"08:30","mode":"top","position":0},{"start":"17:00","end":"22:30","mode":"normal","position":1}],"wed":[{"start":"05:50","end":"08:30","mode":"normal","position":0},{"start":"17:00","end":"22:30","mode":"normal","position":1}],"thu":[{"start":"05:50","end":"08:30","mode":"normal","position":0},{"start":"17:00","end":"22:30","mode":"normal","position":1}],"fri":[{"start":"05:50","end":"08:30","mode":"normal","position":0},{"start":"17:00","end":"22:30","mode":"normal","position":1}],"sat":[{"start":"07:30","end":"10:00","mode":"normal","position":0},{"start":"18:00","end":"23:30","mode":"normal","position":1}],"sun":[{"start":"08:00","end":"10:00","mode":"normal","position":0},{"start":"18:00","end":"23:30","mode":"normal","position":1}]} |
heating.dhw.pumps.circulation.schedule | Zeitplan Warmwasser Zirkulationspumpe | Zeitplan: {"mon":[{"start":"05:40","end":"09:00","mode":"5\/10-cycles","position":0},{"start":"17:00","end":"24:00","mode":"5\/10-cycles","position":1}],"tue":[{"start":"05:40","end":"09:00","mode":"5\/10-cycles","position":0},{"start":"17:00","end":"24:00","mode":"5\/10-cycles","position":1}],"wed":[{"start":"05:40","end":"09:00","mode":"5\/10-cycles","position":0},{"start":"17:00","end":"24:00","mode":"5\/10-cycles","position":1}],"thu":[{"start":"05:40","end":"09:00","mode":"5\/10-cycles","position":0},{"start":"17:00","end":"24:00","mode":"5\/10-cycles","position":1}],"fri":[{"start":"05:40","end":"09:00","mode":"5\/10-cycles","position":0},{"start":"17:00","end":"24:00","mode":"5\/10-cycles","position":1}],"sat":[{"start":"07:20","end":"10:00","mode":"5\/10-cycles","position":0},{"start":"19:00","end":"24:00","mode":"5\/10-cycles","position":1}],"sun":[{"start":"07:30","end":"10:00","mode":"5\/10-cycles","position":0},{"start":"19:00","end":"24:00","mode":"5\/10-cycles","position":1}]} An: {"mon":[{"start":"00:00","end":"24:00","mode":"on","position":0}], "tue":[{"start":"00:00","end":"24:00","mode":"on","position":0}], "wed":[{"start":"00:00","end":"24:00","mode":"on","position":0}], "thu":[{"start":"00:00","end":"24:00","mode":"on","position":0}], "fri":[{"start":"00:00","end":"24:00","mode":"on","position":0}], "sat":[{"start":"00:00","end":"24:00","mode":"on","position":0}], "sun":[{"start":"00:00","end":"24:00","mode":"on","position":0}]} Aus: {"sun":[],"tue":[],"thu":[],"sat":[],"fri":[],"wed":[],"mon":[]} |