Nach Update auf 3.57.5 ständig Duty Cycle

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

andy1972
Beiträge: 105
Registriert: 21.10.2012, 02:49
Hat sich bedankt: 11 Mal

Re: Nach Update auf 3.57.5 ständig Duty Cycle

Beitrag von andy1972 » 15.05.2021, 14:05

und das Stromprogramm:

Code: Alles auswählen

!! Energy Costs Part 2a                                                       
!!
!! Berechnet die verbrauchten kWh/m3 und den Preis für Gas/Strom für den aktuellen Tag 
!! Der erste Aufruf des Tages speichert den Verbrauch des Vortages 
!!
!! kann beliebig oft laufen sollte aber günstigerweise mindestens einmal  jeden Tag um 0 Uhr laufen
!!
!! 02/15                                                 
!! (c) by thkl
!!
!! Benötigte SystemVariablen:
!! Name : Stromverbrauch_heute Typ: Zahl Einheit kWh / m3
!! Name : eCostToday Typ: Zahl Einheit: EUR
!!
!! Name : Stromverbrauch_gestern Typ: Zahl Einheit kWh / m3
!! Name : eCostYesterday Typ: Zahl Einheit: EUR
!!
!! Name : eEXMemory Typ: Zeichenkette
!!
!! serialCounter mit Seriennummer des HM Zählers füllen
!! useAsGasCounter = true -> Gaszähler ; false -> Elektrozähler
!! cuxddevice = Seriennummer des CuxD Exec Devices (optional -  sonst wird system.exe genutzt)

string serialCounter = "NEQ0862478";
boolean useAsGasCounter = false;
string cuxddevice = "";

!! ================== do not change anything below ==========

var dpname = "ENERGY_COUNTER";
if (useAsGasCounter==true) {dpname = "GAS_ENERGY_COUNTER";}

string stdout;string stderr;
string cmd = "/bin/sh -c 'cat /etc/config/energyPrice|sed -r \"s/\\"//g\"'";
object devEnergyDP = dom.GetObject("BidCos-RF."#serialCounter#":1."#dpname);
var eEXMemory = dom.GetObject("eEXMemory");
!!  integer lastSetMemory = eEXMemory.Timestamp().ToInteger();
integer day = system.Date("%j").ToInteger();
integer year = system.Date("%Y");
integer lastSetDay = eEXMemory.Timestamp().Yearday();
integer lastSetYear = eEXMemory.Timestamp().Year();
boolean braveNewDay = false;
if ((day>lastSetDay) || (year > lastSetYear)) {
 braveNewDay = true;
}

string tmpSVal = eEXMemory.State();
real devcount = devEnergyDP.State();
real statelast = tmpSVal.ToFloat();
real cnyday = devcount-statelast;

if (cuxddevice!="") {
  dom.GetObject("CUxD."#cuxddevice#":1.CMD_SETS").State(cmd);
  dom.GetObject("CUxD."#cuxddevice#":1.CMD_QUERY_RET").State(1);
  stdout = dom.GetObject("CUxD."#cuxddevice#":1.CMD_RETS").State();
} else {
  system.Exec(cmd, &stdout, &stderr);
}

string sep = "\n";
string part;
string strCur;
real pricekwh=0.0;
real condvalue=0.0;
real heatvalue=0.0;

foreach(part,stdout.Split(sep)) {
  string key = part.StrValueByIndex(":",0);
  string val = part.StrValueByIndex(":",1);
  
 if (useAsGasCounter==true) {
  if (key=="gasHeatingValue"){heatvalue = val.ToFloat();}
  if (key=="gasConditionNumber"){condvalue = val.ToFloat();}
  if (key=="gasPrice"){pricekwh = val.ToFloat();}
 } else {
    if (key=="curPrice"){pricekwh = val.ToFloat();}
 }
}

if (braveNewDay==true) {
  eEXMemory.State(devcount.ToString());
}

real enerycost = 0.0;
real enerycount = 0.0;

if (useAsGasCounter==true) {
   real consumtion = 0;
   consumtion = heatvalue * condvalue * cnyday;
   enerycost = pricekwh * consumtion;
   enerycount = cnyday;
} else {
   enerycount = (cnyday/1000);
   enerycost = pricekwh * enerycount;
}

if (braveNewDay==true) {
     dom.GetObject("Stromverbrauch_gestern").State(enerycount);
     dom.GetObject("eCostYesterday").State(enerycost);
} else {
     dom.GetObject("Stromverbrauch_heute").State(enerycount);
     dom.GetObject("eCostToday").State(enerycost);
}/code]
Dateianhänge
Bildschirmfoto 2021-05-15 um 14.00.08.png

MichaelN
Beiträge: 9650
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: Nach Update auf 3.57.5 ständig Duty Cycle

Beitrag von MichaelN » 15.05.2021, 14:24

Das sollte auch den DC nicht treiben, da beide anscheinend keine Anderen Geräte ansprechen
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

andy1972
Beiträge: 105
Registriert: 21.10.2012, 02:49
Hat sich bedankt: 11 Mal

Re: Nach Update auf 3.57.5 ständig Duty Cycle

Beitrag von andy1972 » 15.05.2021, 21:48

Danke dir fürs schauen!!
hm....Dann weiß ich auch nicht.. Ist schon sehr komisch alles.
Vielleicht ist es doch irgend ein Aktor?!

chka
Beiträge: 2483
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 302 Mal
Danksagung erhalten: 116 Mal

Re: Nach Update auf 3.57.5 ständig Duty Cycle

Beitrag von chka » 16.05.2021, 09:45

viewtopic.php?f=26&t=53387#p532517 :roll: alles andere ist rum Doktoren
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“