Howto - Zähler-Skripte für HM-ES-TX-WM (per zPNP)
Moderator: Co-Administratoren
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Howto - Zähler-Skripte für HM-ES-TX-WM, V3.1.1
Hallo Tino,
hier mal zunächst die Version 3.2 des Stromzählerskripts.
Das mit dem Senden an einem bestimmten Tag im Monat muss ich dann später noch mal machen.
hier mal zunächst die Version 3.2 des Stromzählerskripts.
Das mit dem Senden an einem bestimmten Tag im Monat muss ich dann später noch mal machen.
Zuletzt geändert von dtp am 06.11.2019, 07:34, insgesamt 1-mal geändert.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 507
- Registriert: 26.10.2016, 16:08
- System: CCU
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 15 Mal
Re: Howto - Zähler-Skripte für HM-ES-TX-WM, V3.1.1
Hallo Thorsten,
Erst mal auf die Schnelle....
der hat mir den Tageswert irgendwie auf den Zählerstand draufaddiert.
Reset mit -1 ging auch nicht.
Kannst du das nachvollziehen? Hoffe ich hab nix falsch gemacht.
RunTimeError kam auch wieder.
Sorry, muss jetzt erst mal in die Kiste...
Gute Nacht
Erst mal auf die Schnelle....
der hat mir den Tageswert irgendwie auf den Zählerstand draufaddiert.
Reset mit -1 ging auch nicht.
Kannst du das nachvollziehen? Hoffe ich hab nix falsch gemacht.
RunTimeError kam auch wieder.
Sorry, muss jetzt erst mal in die Kiste...
Gute Nacht
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Howto - Zähler-Skripte für HM-ES-TX-WM, V3.1.1
Hab das Skript noch mal überarbeitet.
EDIT: Skript wegen kleiner Fehler zurückgezogen.
Man muss nun im Skript die lokale Variable "iecFlag" auf true setzen, wenn man die IEC-Zählerwerte auswerten möchte. Das automatische Erkennen in der vorherigen Version war keine so gute Idee.
EDIT: Skript wegen kleiner Fehler zurückgezogen.
Man muss nun im Skript die lokale Variable "iecFlag" auf true setzen, wenn man die IEC-Zählerwerte auswerten möchte. Das automatische Erkennen in der vorherigen Version war keine so gute Idee.
Zuletzt geändert von dtp am 07.11.2019, 07:29, insgesamt 1-mal geändert.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
- Black
- Beiträge: 5483
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Howto - Zähler-Skripte für HM-ES-TX-WM, V3.1.1
ich hab nochwas in meinem Script Giftschrank gefunden, was dir da vllt helfen könnte:
Code: Alles auswählen
string s1="";
string fw="";
foreach (s1,devices.Get ("GErätenamendesZählers").MetaData ("DEVDESC").Split (',')) {
if (s1.StrValueByIndex (":",0)=="FIRMWARE") {fw= s1.StrValueByIndex (":",1).Trim ("\""); break;}
}
wenn alles glattlief, entfält fw dann die Firmware des Gerätes, damit kannst du auswerten, obs ein IEC sein wird oder nichtl.
wenn daneben geht ist fw leerstring, dann sag mir aber mal bescheid, bei Geräten von mir klappt es.
Gruss, Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Howto - Zähler-Skripte für HM-ES-TX-WM, V3.1.1
Danke für deine Unterstützung. Aber ich glaube, dass das in diesem Fall irgendwie mit Kanonen auf Spatzen geschossen wäre. Immerhin müsste die FW-Abfrage bei jedem Ausführen des Skripts durchgeführt werden. Und normalerweise sollte ja jeder User wissen, ob er die "normalen" oder die IEC-Zählerdaten des HM-ES-TX-WM nutzt.
Gruß,
Thorsten
Gruß,
Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 507
- Registriert: 26.10.2016, 16:08
- System: CCU
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 15 Mal
Re: Howto - Zähler-Skripte für HM-ES-TX-WM, V3.1.1
Hallo Thorsten,
Tut mir leid aber syntaxfehler
Habe offset auf -1.0 gesetzt weil ich resetten wollte.
iecFlag steht auf true
Sorry ist ja bei mir ne andere Zeile.... also die hier ist bei mir die 102:
Gruß Tino
Tut mir leid aber syntaxfehler
Habe offset auf -1.0 gesetzt weil ich resetten wollte.
iecFlag steht auf true
Code: Alles auswählen
Nov 6 17:14:14 CCU3-WebUI local0.err ReGaHss: ERROR: SyntaxError: Error 1 at row 102 col 144 near ^ list = ""; regular = false; } ! +++++ Ausgabe als Bargraph +++++ if(range^M [SyntaxError():iseESP.cpp:1137]
Nov 6 17:14:14 CCU3-WebUI local0.err ReGaHss: ERROR: SyntaxError: list = ""; regular = false; } ! +++++ Ausgabe als Bargraph +++++ if(range > 0){ while((barIndex < meterDiff) && (barIndex <= (range - range/bars))){ bargraph = bargraph#"|"; barIndex = barIndex + range/bars; } if(meterDiff > range){bargraph = "<font color=orange>"#bargraph#"</font>";} bargraph = bargraph#" "; } ! +++++ Liste auf Zeitfenster begrenzen und vermeiden aufeinanderfolgender Einträge am Sendetag +++++ if(l
st){ foreach(listElement, list.Split("\n")){ if((cnt == 0) && (listElement.Contains(weekday))){listElement = "";} else{listElement = listElement#"\n";} if(cnt >= numDays-1){listElement = "";} listMod = listMod#listElement; cnt = cnt + 1; } } list = bargraph#meterDiff.ToString(2)#" kWh, "#weekday#"\n"#listMod; ! +++++ Setzen der Systemvariablen +++++ (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svWeek)).State(list); if(regular){ if(system.Date("%H:%M") == "23:58"){ (dom.GetObject(
D_SYSTEM_VARIABLES
Code: Alles auswählen
else{meterDiff = (dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("IEC_ENERGY_COUNTER").Value()}
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Howto - Zähler-Skripte für HM-ES-TX-WM, V3.1.1
Mist, da habe ich ein Semikolon vor der geschweiften Klammer am Ende der Zeile vergessen. Das passiert, wenn man die Skripte im Büro editiert und ungetestet veröffentlicht.
Da ich eh gestern Abend noch an der Möglichkeit gearbeitet habe, statt bestimmter Wochentage auch Monatstage für das Versenden vorzugeben, werde ich dann in Kürze eine überarbeitete Version 3.3 veröffentlichen. Ich muss die aber erst noch testen. Die fehlerhafte 3.2 habe ich mal zurückgezogen.
Gruß,
Thorsten
Da ich eh gestern Abend noch an der Möglichkeit gearbeitet habe, statt bestimmter Wochentage auch Monatstage für das Versenden vorzugeben, werde ich dann in Kürze eine überarbeitete Version 3.3 veröffentlichen. Ich muss die aber erst noch testen. Die fehlerhafte 3.2 habe ich mal zurückgezogen.
Gruß,
Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 507
- Registriert: 26.10.2016, 16:08
- System: CCU
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 15 Mal
Re: Howto - Zähler-Skripte für HM-ES-TX-WM, V3.1.1
Ok, lass dir Zeit. In der Ruhe liegt die Kraft
Die veränderte 3.1 läuft ja zumindest erstmal bei mir.
Ich glaube aber, beim Reset oder Ersteinrichtung muss man nicht Zählerstand minus das was in der Push steht eintragen, sondern was anderes. Da ja der korrekte Wert schon vom IEC angezeigt wird. Zumindest wenn es mit dem SML-Protokoll läuft. Ist mir gestern zumindest noch aufgefallen.
Vielleicht ist das aber beim IEC generell so, das weiß ich nicht.
Wegen des RunTimeErrors, da bin ich dran.... da schreib ich dir heute Abend noch mal was.
Liegt zumindest nicht an deinem Skript
Gruß Tino
Die veränderte 3.1 läuft ja zumindest erstmal bei mir.
Ich glaube aber, beim Reset oder Ersteinrichtung muss man nicht Zählerstand minus das was in der Push steht eintragen, sondern was anderes. Da ja der korrekte Wert schon vom IEC angezeigt wird. Zumindest wenn es mit dem SML-Protokoll läuft. Ist mir gestern zumindest noch aufgefallen.
Vielleicht ist das aber beim IEC generell so, das weiß ich nicht.
Wegen des RunTimeErrors, da bin ich dran.... da schreib ich dir heute Abend noch mal was.
Liegt zumindest nicht an deinem Skript
Gruß Tino
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Howto - Zähler-Skripte für HM-ES-TX-WM, V3.1.1
Was sagt dir denn die Push-Nachricht, wenn du den offset auf -1.0 setzt?
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.