Also z.B. Ich hab überall Null. Analog ist das ja auch im Auswerteskript gelöst. Das hätte ich ohne so nie hinbekommen. Ich habe deine Anleitung wie ich hoffe, genau so umgesetzt einschließlich der Pushover Nachrichten. 300 = 300 + 0 oder 1500 = 1500 + 0. Bin mir nicht ganz klar darüber was deine Abkürzungen bedeuten. Mein Hausstrom funktioniert einwandfrei mit den von dir zur Verfügung gestellten Skripten. Alle Cookies, die für die Funktion der Website möglicherweise nicht besonders erforderlich sind und speziell zur Erfassung personenbezogener Daten des Benutzers über Analysen, Anzeigen und andere eingebettete Inhalte verwendet werden, werden als nicht erforderliche Cookies bezeichnet. In deinen Screenshots lese ich für das Script 8,69kWh am Mittwoch. Dann solltest du das Skript mal in einem guten Editior (z.B. Grüße Jens. Entsprechend sehen die Rücksetz-Skripte für die Zähler der anderen Zeiträume aus…, Zum Reset des Ablesezählers empfiehlt es sich, das Programm manuell (z.B. Habe alles soweit nach deinem Tutorial gemacht, …bei Erreichen von 838860,7 Wh über und beginnt wieder bei NULL. Script für HM-ES-TX-WM 15.02.2023, 18:12 von friedvati: 5: 465: . aA.State(oP.State()); für „Strom Referenz Verbrauch laufende Woche“ der Zählerstand vom letzten Sonntag, 23:59 Uhr. Die Referenzwerte bleiben immer gleich, solange der Zähler nicht zurück gesetzt wurde. Für des Monatszähler (Strom Referenz Verbrauch laufender Monat) der aktuelle Zählerstand minus den bis zum Eintragezeitpunkt bereits aufgelaufenen Monatsverbrauch (ggf. Aber jetzt weiß ich auch, weswegen Nutzer hier schon von negativen Werten berichtet haben. Liebe Grüße Jens. Ich komme bei der Systemvariable „CCU2 im Reboot“ nicht weiter wo finde ich die ? Vor einem Batteriewechsel sollten zudem die Hinweise im Abschnitt 3. beachtet werden. Hierzu kann man grundsätzlich nach dem Tutorial für den Stromzähler vorgehen. (Im HM Forum habe ich auch schon gepostet.). Wie man den Historian auf einem Raspberry Pi 2 Model B betreiben kann, habe ich in einem anderen Beitrag beschrieben. Nun wollte ich das gleiche auch für Gas machen, jedoch bekomme ich bei den Pushmeldungen immer nur Nullen übermittelt als Werte. object oE = dom.GetObject(„BidCos-RF.MEXXXXXXXX:1.ENERGY_COUNTER“); durch folgende Einträge ersetzt: Ich habe die Variante ohne Pushover Nachrichten gewählt. vTz.State(vTg.State() + vTz.State()); Ich bekomme dann folgende Meldung: Das lässt sich mit ein paar zusätzlichen Systemvariablen und einer Anpassung des Auswerteskiptes aber leicht selbst ergänzen. Liebe Grüße Jens, Hallo Jens, object oE = dom.GetObject(„BidCos-RF.HM-ES-TX-WM NEQ08XXXXX:1.ENERGY_COUNTER“); Da bei mir ein Leerzeichen vor dem NEQ… Bereich steht, denke ich, dass die fehlende Aktualisierung daher kommt. Ein Fix für dieses Problem ist in dem obigen Tutorial bereits enthalten. vielen Dank für die super Anleitung den Gasverbrauch zu erfassen. var vTz = dom.GetObject(„Strom Referenz Verbrauch heute“); Ausserdem werden die Kosten aus dem entsprechenden Strompreis Eintrag in der Systemsteuerung der CCU berechnet. zA.State(zR.State() + (oE.State()/1000)); Du bekommst gleich eine „saubere“ Skript-Datei per Mail. Weiterentwicklungsideen“, dort habe ich einen möglichen Lösungsansatz hierzu aufgenommen. Tag jedes 1. Werner Keller aus der Schweiz hat auf Basis dieses Tutorials eine sehr interessante Lösung für einen Stromzähler mit unterschiedlichem Hoch (HT)- und Niedertarif (NT) für seine Wärmepumpe entwickelt, die in dem verlinkten Artikel vorgestellt wird. ! Zumindest habe ich keine gefunden. und logischerweise den aktuellen Zählerstand. Jetzt würde ich gerne wissen wie ich meine alten Daten eingebe bevor ich den Gaszähler in betrieb nehme. var vLg = dom.GetObject(„Strom Verbrauch seit letzter Ablesung“); Lies hierzu mal den Artikel HomeMatic – Ausführen von Programmen bei einem Neustart der CCU unterbinden. vMg = (V)erbrauch (M)onat (G)esamt ↳ HomeMatic Tipps & Tricks - keine Fragen! In der „Skript testen“ Funktion läuft es nicht durch. Kann man das ganze auch mit dem HomeMatic Zwischenstecker mit Leistungsmessung ans laufen bekommen. Hallo Reinhard, zu deinem recht speziellen Problem antworte ich dir gleich per Mail. Er hat dann alle State() abfrage durch Value() ersetzt. Der Fehler wirkte sich erst nach einem Batteriewechsel aus und wurde in dem obigen Tutorial korrigiert. im Laufe des Tages z.B. In der Variablen “ Strom Verbrauch laufende Woche“ 43,347 Die Reset-Programme werden nur ausgelöst, wenn auf State=TRUE getriggert wird. Bei Bedarf kann man die Daten aber natürlich auch per Mail oder über einen anderen Dienst verschicken. Hast du wirklich die richtigen Datenpunkte für die Gas-Variante genommen: object oP = dom.GetObject(„BidCos-RF.MEXXXXXXXX:1.GAS_POWER“); Aktuell setzen wir solche Cookies selbst nicht aktiv ein, können aber nicht grundsätzlich ausschließen, dass z.B. Script sagt mir ich hätte heute bisher 0,57m³ Gas verbraucht, das Diagram ist aber schon bei 0,9m³. vWg.State(zA.State() – vWz.State()); Siehe dazu auch die Abschnitte „3. Stromreferenz heute wären lt. Rechner 5981.27 Wenn du eine Anpassung in der von dir beschrieben Richtung fertig gestellt hast, kannst du sie hier ja mal vorstellen. in Systemvariablen auf der Homematic schreiben lassen. Habe jetzt das Gerät mit der CCU2 verbunden und das Auge über die LED meines Stromzählers geklebt. Vielleicht kann ja jemand, der mehrere Zähler einsetzt und hier mitliest, etwas zur Lösung beitragen. Für den Wochenzähler Sonntags 23:5X oder Montags 00:0X und so weiter. Hervorragend erläutert und mit allen Informationen versehen, die von Bedeutung sind. "oE": "BidCos-RF.MEQ0703482:1.IEC_ENERGY_COUNTER", Hi Jens! Diese könnte man entweder regelmäßig korrigieren oder halt vorher genauer rechnen (mehr Nachkommastellen). die CCU2 musste ich soeben neu starten und jetzt sind meine ganzen gezählten Werte von heute, gestern usw. danke für dein Feedback. Wahrscheinlich ist es bei mir noch nie aufgetreten, weil ich zwischenzeitlich immer mal wieder zum Ausprobieren die Batterien draußen hatte. In der Variablen “ Strom Verbrauch seit letzter Ablesung“ 25104,37. Die Zeitraum-Zähler werden nach folgender Systematik berechnet…, …wird mit jeder Aktualisierung des Leistungs-Datenpunktes [POWER] ausgeführt…, Aufgrund der technischen Eigenschaften des HM-ES-TX-WM (es wird intern nur ein 23 Bit-Zähler verwendet) läuft dessen Datenpunkt…. Bin durch Zufall auf deine Seite gekommen und habe jetzt erforlgreich den Stromzähler in Betrieb genommen und gleich deine Anleitung hier umgesetzt. so aus…. @ Tino, nochmals danke für deinen Hinweis auf den Bug. wenn du genau nach der Anleitung vorgegangen bist und dabei keine Fehler passiert sind, sollte der Zähler in der Tat automatisch mit dem Zählen beginnen. Kann es sein, dass die Referenzzahlen als Negativzahlen eingegeben werden müssen? Jetzt stört mich nur noch die Anzeige der Wert, zB: Zaehlerstand: 10900.753300kWh jeden Wert sehe ich mit 6 Nachkommastellen…. object oE = dom.GetObject(„BidCos-RF.MEXXXXXXXX:1.GAS_ENERGY_COUNTER“); Du kannst mir auch gerne mal dein Skript per Mail senden. Daher ist zumindest für die Systemvariablen „Strom Zaehlerstand“, „Strom ENERGY_COUNTER“ und für alle Referenz-Systemvariablen als Maximalwert 999999.99 einzugeben…, Zur Auswertung werden zunächst bei Aktualisierung des Leistungswertes die beiden Datenpunkte des HM-ES-TX-WM und die relevanten Systemvariablen ausgelesen. Ich nutze auch dein 2. Eine Option könnte NodeRed (Redmatic) sein. object oE = dom.GetObject(„BidCos-RF.MEQ0705195:1.ENERGY_COUNTER“); Hallo Alex, Der Weg über eine Prüfung, ob „ENERGY_COUNTER“ kleiner geworden ist und in diesem Fall den Referenzwert um 838860,7 Wh erhöhen, geht da in die richtige Richtung. Damit ist es sehr einfach möglich, die Ausgaben des Zählers auf beliebige Stellen nach dem Komma zu runden. Wenn der „HM-EM-TX-WM“ nicht defekt ist (was auch nicht auszuschließen ist), könnte dein Problem in der Positionierung des „ES-LED“ oder im Zusammenwirken zwischen „ES-LED“ und „HM-EM-TX-WM“ begründet sein (Steckverbindung?). Da passt es. Heute morgen hat die WP „nachgeladen“ und jetzt habe ich auch Werte in den Variablen – zu meiner Freude „kleine“ Zahlen . ich bin HomeMatic Neueinsteiger und hätte folgende Frage zu deinem Script. Ich selbst nutze die Gaszähler Funktion nicht aber hast du im Auswerteskript die Datenpunkte auf die Werte des Gaszählers geändert? von Sven_A » 21.04.2016, 09:33, Beitrag Hattest du das Problem noch nicht? Hab jetzt alle Variablen angelegt und anstelle Strom hab ich Gas genommen. tolle Sache mit der Auswertung und das Du Deine Progammierungen jedem bereitstellst. Jetzt muß es laufen. Grüße Holger, die Systemvariable „CCU im Reboot“ musst du – sofern du sie verwenden willst – selbst anlegen, mehr dazu findest du im Tutorial „HomeMatic – Ausführen von Programmen bei einem Neustart der CCU unterbinden„. Vielleicht liest Dominik das ja und kann sich dazu äußern. oE = (O)bject (E)NERGY_COUNTER In der Variablen “ Strom Referenz Verbrauch seit letzter Ablesung“ stehen 0,0, In der Variablen „Strom Verbrauch heute“ stehen 25104,347 in dieser Zeile wird eigentlich nichts anderes gemacht als den Wert des Tageszählers vor dem Reset zu speichern. zuletzt.State(sensor.State()); Wolfgang, Hallo Wolfgang, Liebe Grüße Jens, Hallo Jens mit Markern, die man an verschiedenen Stellen im Skipt einbaut, im erweiterten Skript Parser herausfinden kann, kann es helfen, die betroffenen Systemvariablen zu löschen und nach einem Neustart der CCU erneut anzulegen. Auch da kommt nichts in die Variablen, ausser meine „Strom WP ENERGY_COUNTER“ zählt hoch. Ich werde mir da mal eine Korrektur überlegen und in das Tutorial einbauen. im WebUI) zu starten, wenn die Stromzählerablesung erfolgt ist…, Bei einem Batteriewechsel des HM-ES-TX-WM werden die Datenpunkte…, Damit die Zeitraumzähler auch nach einem Batteriewechsel wieder korrekte Werte zeigen, genügt es im Grunde, unmittelbar nach dem Batteriewechsel den aktuellen Zählerstand auf dem (Ferraris-)Zähler abzulesen und manuell (z.B. Man muss sie nur extrahieren und in eine Datei Schreiben. Übrigens: Den Trick mit der Variable kenne ich schon und nutze ich auch. Grüße…. Wie muß der korrekte Eintrag lauten? Was man wissen sollte, um meine Programme zu verstehen. Daher solltest du zumindest für die Systemvariablen „Strom Zaehlerstand“, „Strom ENERGY_COUNTER“ und für alle Referenz-Systemvariablen als Maximalwert 999999.99 eingeben. Ich habe meinen aktuellen Zählerstand unter „Strom Referenz Verbrauch heute“ hinterlegt. vielen Dank für diese Anleitung. 1 kWh ungenau ist mit dem Vergleichswert am Zähler selber. Hallo Andreas, "vLz": "Strom Referenz Verbrauch seit letzter Ablesung", abspeichern, Das lässt sich bewerkstelligen, indem zunächst eine weitere Systemvariable…, Anschließend wird das obige Rücksetzskript für den Tageszähler wie folgt geändert…. usw. var vJg = dom.GetObject(„Gas Verbrauch laufendes Kalenderjahr“); Damit ist es sehr einfach möglich, die Ausgaben des Zählers auf beliebige Stellen nach dem Komma zu runden. Du könntest im Forum mal nach „CUXD-Highcharts“ suchen, der läuft auf der CCU. Echt klasse! Falls diese Werte nicht vorliegen, können sie mit dem Korrekturechner über die seit dem letzten Reset aufgelaufenen (ggf. Das wird in der Tagesansicht dann kummuliert, und zack, steht zu viel im Diagramm... Dieses Diagramm scheint also nicht für diesen Zweck zu taugen. Durch die Addition von 0.001 Wh auf den vom Datenpunkt „ENERGY_COUNTER“ ausgelesenen Wert wird vermieden, dass der Korrekturwert auch aufsummiert wird, wenn der übermittelte Wert in zwei Zyklen hintereinander gleich geblieben ist, was hin und wieder einmal vorkommt (siehe Zeilen 23 und 24)…, Das Ergebnis der Auswertung sieht in WebMatic / HighCharts / a.i.o. @Thorsten: Kurzes Update von mir: Diagramm tut jetzt, keine Ahnung was ich falsch gemacht hatte. "vJg": "Strom Verbrauch laufendes Kalenderjahr", Vielleicht liegt es irgendewie am iobroker, der im Zeitfenster des Neustarts keine Daten empfängt aber das ist eher aus der Glaskugel. Liebe Grüße Jens, Hi, Nach deiner Anleitung habe ich den Stromzähler in der WebUI mit allen hier beschriebenen Variablen und Skribten angelegt. var zA = dom.GetObject(„Gas Zaehlerstand“); Auch von mir ein riesen Lob und Dank für dieses tolle Tut. Weitere Infos findest du auch im Forum, z.B. Müssen diese von Hand wieder auf 0 gesetzt werden? Ich weiß, es gibt sicherlich X Beiträge hierzu. Liebe Grüße Jens. geschätzt). Ich habe die Script ausprobiert und mit dem Gaszähler funktioniert es nicht es kommen keine Daten gib es da ein Idee oder Lösung. auch von mir gleich mehrere Daumen hoch. vTz.State(vTg.State() + vTz.State()); Wenn ich die Zeile ! Aus meiner Sicht ist ein „Referenzwert“ eine unveränderliche Größe, auf dessen Basis alle anderen Werte berechnet werden. Hab jetzt vorhin mal Zählerstand verglichen und bemerkt, dass der tatsächliche Zählerstand um 0,28 kWh niedriger ist als die ccu2 anzeigt. Systemvariablen notiert und die aktuellen Werte der folgenden Referenz-Systemvariablen…. Freue mich über eine kurze Info. die Kalenderwoche angezeigt, nicht aber der Energiewert. "vTz": "Strom Referenz Verbrauch heute", Dadurch kann man historische Werte länger speichern. Monats um 00:01 Stromverbrauch verzögert 5sec auf 0.00 Vielleicht kannst du das ja oben ändern, falls noch andere Probleme damit haben. Dennoch eine Frage: ergänzt, da ich mir nicht sicher war, ob sich sonst die Skripte irgendwie untereinander stören. Dies führt dazu, dass nach diesem Überlauf falsche negative Werte in den einzelnen Zählern angezeigt werden. Geht der Zählerstand nach dem Timerlauf auf NULL? Gleichermaßen kann man bei Bedarf für die anderen Zeiträume vorgehen. Hallo zusammen, die den Wert „Zahl haben“ bei Minium und Maximum ausgefüllt werden (mit 0 und 65000) oder bleiben diese leer? Das müsste analog auch ähnlich auf dem neuen Raspberry Pi 3 funktionieren, hab ich aber noch nicht ausprobiert. Bis dann, Jens. Zählerstand 01.02.2016 00:00 Uhr eine Woche laufen und es funktioniert (eigentlich) sehr gut. Ansonsten zählt er brav weiter, auch wenn Stromzählerablesung war. Ob du damit allerdings Daten in das Excel-Format exportieren kannst, kann ich nicht sagen. Es ist sehr einfach, den Zähler zu einem Gaszähler umzubauen, wenn man ein paar Kleinigkeiten beachtet.Grundsätzlich ist die Vorgehensweise die Gleiche wie bei dem Stromzähler, jedoch sollten die Systemvariablen natürlich anders bezeichnet werden: Im Skript müssen die Datenpunkte des HM-ES-TX-WM auf diejenigen für Gas geändert werden, also statt…. Korrektur“ vorzugehen. gelesen und akzeptiert. Weiter so . object oP = dom.GetObject(„BidCos-RF.MEQ0705195:1.POWER“); Im Moment versuche ich mich daran die Tages, Wochen, Monats und Jahreswerte zu „konservieren“. Einfach bei jeder Aktualisierung aus dem Sensor folgendes Skript ausführen. Man kann z.B. Leider habe ich keine Ahnung wo der Fehler liegt. Ziel der Homematic Script Dokumentation ist es, dem Anwender einen Einblick in die Programmierung von Scripten zu geben, die mittels Programmen von der Homematic Zentrale benutzt werden können. Vielen dank schonmal für deine Hilfe. Jetzt habe ich aber das Problem das ich nicht weiß wie die Einstellungen für das monatliche Rücksetzen eingestellt wird. In meinen Referenz Systemvariablen, sind nach wie vor noch die Referenzwerte eingetragen, die ich gestern eingetragen habe. B. beim Tageszähler den Vortageswert in eine Variable speicherst. Danke dir nochmal und schöne Weihnachten Bezüglich der Vergabe von Skriptvariablen empfehle ich dir, auch mal den Artikel HomeMatic – CCU Abstürze durch zu viele Skriptvariablen verhindern zu lesen, damit du keine Probleme mit der 200er-Grenze bekommst. Liebe Grüße Jens. Dieser ist noch Beta, weil ich hier damit noch keinen Überlauf hatte, mein Zähler hat derzeit erst 282472 Wh. Homematic - Stromzähler auswerten Version 3 mit HM-ES-TX-WM und Smart-Meter 23. Homematic InfluxDB Installation ioBroker iQontrol Jarvis JavaScript LED Leuchtmittel lovelace Material UI MQTT Node-RED Objekte PI Script Sensor Smart-Home Steuerung Telegram Temperatur Toolbar/Panel Trigger View VIS Visualisierung Widget Widgets Xiaomi Zwischenstecker. auf einem Raspberry Pi betreiben oder auch auf einem NAS. Hat perfekt geklappt! Der Gaszähler steht und gibt keine Signale sodass das Script den aktellen Bezug nicht auf Null setzt. Hierzu gibt es sicher mehrere geeignete Wege, um zum Ziel zu kommen. wird davon ausgegangen, dass mein aktuell eingegebener Zählerstand tatsächlich mein Verbrauch ist. Im Folgenden werden ausschließlich die beiden Datenpunkte…. Reicht es dann wenn ich vom bereits eingetragenen Wert beim Referenz Zählerstand diesen Wert abziehe? Hallo Michael, Hallo Thomas, Die Idee dahinter ist, den realen Zählerstand beim Einlegen der Batterien in eine Referenz-Systemvariable „Strom Referenz Zaehlerstand“ zu schreiben. Um das ganze vom Strom auch zu unterscheiden, habe ich vor die VAriablen usw immer ein „G“ gesetzt. Batteriewechsel“ vorzugehen, dann ist wieder für 883 kWh Ruhe. Da die Systemvariablen aber zum Rechnen im Typ „Zahl“ vorliegen müssen, wird es wohl am einfachsten sein, jeweils zusätzliche Systemvariablen vom Typ „Zeichenkette“ anzulegen, die zugehörigen Systemvariablen vom Typ „Zahl“ dorthin zu kopieren, zu kürzen und dann die Zeichenkette an Stelle der Zahl auszugeben. Berechnung des laufenden Verbrauchs Trigger: jede Aktualisierung des Leistungs-Datenpunktes [POWER] 2. aA.State(oP.State()); var vJg = dom.GetObject(„Strom Verbrauch laufendes Kalenderjahr“); Hierbei kommt dann Tasker zum Einsatz. der HM-ES-TX-WM „ohne Verbrauch“ keine Aktualisierung sendet (weiß ich nicht, da ich keinen Gaszähler habe und Strom immer verbraucht wird), oder (2.) Nachricht = Nachricht # „rn Wochenverbrauch: “ # vWo; ich beschäftige mich derzeit damit, meinen Zähler auszulesen und die Werte an ioBroker weiter zu geben. Ansonsten ist lediglich das neue Auswerteskript zu verwenden. Du findest ein sehr gutes Handbuch auf der Internetseite des Entwicklers. WENN NICHT ALLE BENÖTIGT WERDEN MUSS DAS SCRIPT ENTSPRECHEND ANGEPASST WERDEN object sv_bezug = dom.GetObject ("Stromzähler Bezug"); object sv_einspeisung = dom.GetObject ("Stromzähler Einspeisung"); object sv_stromleistung = dom.GetObject ("Stromleistung Netzanschluss"); object sv_spannung1 = dom.GetObject ("Spannung L1"); object sv_spannung2 =. var zuletzt = dom.GetObject("ZaehlerstandTminus1"); real diff = sensor.State() - zuletzt.State(); if(diff > 0){ Nun meine erste Frage. Letzte Woche habe ich jedoch beobachtet, dass der Stromzähler sich aufgrung eines Überlaufs bei 838860,7 Wh zurück auf null stellt (http://www.elv.de/topic/zaehler-setzt-sich-bei-838000-wh-von-selbst-auf-0.html). Nur die Stromverbrauchswerte, die durch das Programm ermittelt werden. Außerdem müsstest du noch die Überlaufkorrektur rausschmeißen.
Durchfallquote Polizei Bw,
Articles H