abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 
Beantwortet! Gehe zur Lösung.

Aussentemperatur / Active Cooling

Liebe Viessmann-Community,

es geht um den  Aussentemperatur Wert, den ich über die Developer API (Data Point: heating.sensors.temperature.outside) abfragen kann.

 

Frage: ist dieser Wert das "Langzeitmittel" (3h), dass auch zur Berechnung der Kühlgrenze verwendet wird, oder der direkte Sensorwert. Entspricht dieser Wert auch dem im Display angezeigten Wert der Aussentemperatur?

 

Hintergrund (und Nebenfrage Active Cooling): ich versuche mittels des Langezeitmittel-Temperatur Wertes die Berechnung der Kühlgrenze in einem LOXONE System nachzubilden. Obiger Wert wird per Viessmann-API/Rapsberry/Python/UDP an LOXONE übergeben, wo dann die Kühlgrenze nachgebildet wird, um zu ermitteln, ob meine Vitocal gerade kühlt oder nicht (Kühlsymbol im Display Sichtbar).

Diese Info wird benötigt um im Sommer, nur überschüssige PV-Leistung für die Kühlung verwenden zu können.

 

Gibt es einen direkten API-DataPoint der die Info ActiveCooling=aktiv bereitstellt, um diese umständliche Kühlgrenzen-Emulation (die zeitlich/wertemäßig leider auch etwas fehlerbehaftet ist) zu vermeiden? 

*Konnte trotz stundenlanger Suche und  Objekt-Dumps leider keinen direkten Wert finden. 

 

Wäre dankbar für jeden Hinweis.

 

Danke!

/C

 

 

 

 

2 AKZEPTIERTE LÖSUNGEN

Akzeptierte Lösungen

Problem gedämpfter Mittelwert ist inzwischen gelöst: 

 

Der Parameter 7002 (hier vitocal 200) gibt die Zeitperiode (default 180 Minuten) für einen simplen Exponential Moving Average (EMA) vor.

Wenn man die gedämpfte Aussentemperatur für zB. eine bereits vorhandene (nicht durch Viessmann Produkte ersetzbare) Haus Automatisierung emulieren möchte, kann man dies relativ einfach mit gängigen Methoden für einen einfachen EMA. Details siehe auch Viessmann Manual zu 7002 Intervall für Langzeitmittel Aussentemperatur.

 

Hier als Beispiel Implementierung in Python:

(*die verwendeten globals sind nicht optimal, haben im Kontext der kompletten "ViessmannAPI Data UDP Bridge" aber ihren Sinn, der Code funktioniert nicht mit simplen copy/paste, ist nur als Hilfestellung gedacht, funktioniert ziemlich gut und gibt exakt den Wert der Wärmepumpe wieder. Anlaufzeit mindestens 1x Intervall aus 7002)
 
# time intervall seconds: 180 Min default Viessmann Vitocal 200
MATime = 180 * 60;
# discrete sampling period seconds Timeloop API job interval default = 420 sec )
MAPeriod = 420
# smoothing factor
MAsmooth = round( (MAPeriod / MATime), 3 )
MADataCount = int(MATime / MAPeriod ) + 1
MAData = []
def movingAverage(temperature):
global MAData
global MADataCount
global MAsmooth
MAData.append(temperature)
if ( len(MAData) > MADataCount :
MAData.pop(0)
movav = []
movav.append(MAData[0])
i = len(movav)
while i < len(MAData):
average = round( MAsmooth * (MAData[i] - movav[-1]) + movav[-1], 2 )
movav.append(average)
i += 1
l = len (movav)
avg = 0
if ( l > 0 :
avg = movav[-1]
return avg

 

 

 

Lösung in ursprünglichem Beitrag anzeigen

Problem API DataPoint "aktives Kühlen eingeschaltet" ist ebenfalls gelöst:

 

Der Datenpunkt "heating.compressors.N" liefert sowohl Kühlmodus als auch Verdichter AN/AUS.

 

Auch gelöst.

 

Mit diesen beiden Informationen (siehe Beitrag eingangs), ist es nun möglich mit unserer Hausautomatisierung und den planmäßig bereits verbauten Möhlendorf ERR die Kühlung ausschliesslich mit PV Strom laufen zu lassen, was ich deutlich in den Kosten widerspiegelt.

 

Leider können wir nicht auf Viessmann Produkte umstellen, die dies evtl. einfacher ermöglichen würden, aber sämtliche Komponenten wurden vom Bauträger ausgewählt und so verbaut.

 

Deshalb bin ich als Endkunde sehr froh über die Viessmann API, die wir im BASIC Modus nutzen, der für einfache Zwecke vollkommen ausreichend ist.

 

 

Lösung in ursprünglichem Beitrag anzeigen

2 ANTWORTEN 2

Problem gedämpfter Mittelwert ist inzwischen gelöst: 

 

Der Parameter 7002 (hier vitocal 200) gibt die Zeitperiode (default 180 Minuten) für einen simplen Exponential Moving Average (EMA) vor.

Wenn man die gedämpfte Aussentemperatur für zB. eine bereits vorhandene (nicht durch Viessmann Produkte ersetzbare) Haus Automatisierung emulieren möchte, kann man dies relativ einfach mit gängigen Methoden für einen einfachen EMA. Details siehe auch Viessmann Manual zu 7002 Intervall für Langzeitmittel Aussentemperatur.

 

Hier als Beispiel Implementierung in Python:

(*die verwendeten globals sind nicht optimal, haben im Kontext der kompletten "ViessmannAPI Data UDP Bridge" aber ihren Sinn, der Code funktioniert nicht mit simplen copy/paste, ist nur als Hilfestellung gedacht, funktioniert ziemlich gut und gibt exakt den Wert der Wärmepumpe wieder. Anlaufzeit mindestens 1x Intervall aus 7002)
 
# time intervall seconds: 180 Min default Viessmann Vitocal 200
MATime = 180 * 60;
# discrete sampling period seconds Timeloop API job interval default = 420 sec )
MAPeriod = 420
# smoothing factor
MAsmooth = round( (MAPeriod / MATime), 3 )
MADataCount = int(MATime / MAPeriod ) + 1
MAData = []
def movingAverage(temperature):
global MAData
global MADataCount
global MAsmooth
MAData.append(temperature)
if ( len(MAData) > MADataCount :
MAData.pop(0)
movav = []
movav.append(MAData[0])
i = len(movav)
while i < len(MAData):
average = round( MAsmooth * (MAData[i] - movav[-1]) + movav[-1], 2 )
movav.append(average)
i += 1
l = len (movav)
avg = 0
if ( l > 0 :
avg = movav[-1]
return avg

 

 

 

Problem API DataPoint "aktives Kühlen eingeschaltet" ist ebenfalls gelöst:

 

Der Datenpunkt "heating.compressors.N" liefert sowohl Kühlmodus als auch Verdichter AN/AUS.

 

Auch gelöst.

 

Mit diesen beiden Informationen (siehe Beitrag eingangs), ist es nun möglich mit unserer Hausautomatisierung und den planmäßig bereits verbauten Möhlendorf ERR die Kühlung ausschliesslich mit PV Strom laufen zu lassen, was ich deutlich in den Kosten widerspiegelt.

 

Leider können wir nicht auf Viessmann Produkte umstellen, die dies evtl. einfacher ermöglichen würden, aber sämtliche Komponenten wurden vom Bauträger ausgewählt und so verbaut.

 

Deshalb bin ich als Endkunde sehr froh über die Viessmann API, die wir im BASIC Modus nutzen, der für einfache Zwecke vollkommen ausreichend ist.

 

 

Top-Lösungsautoren