NEWS
[gelöst] Leistungsmessung mit S0 Impulsen?
-
Hallo zusammen,
Ich nutzte bei mir zur Darstellung von Messwerten aus dem ioBroker gerne Grafana. Ich würde ganz gerne die aktuelle Leistungsaufnahme eines Zählers darstellen, weiß aber ehrlich gesagt nicht, wie ich das per Script hinbekomme. Der Zähler gibt über die S0 Schnittstelle Impulse aus, die ich über GPIO auf einem Raspi einlese und in eine InfluxDB wegschreibe/aufsummiere. Ich bekomme pro kWh 1000 Impulse. Bekomme ich jetzt innerhalb einer Minute 17 Impulse, entspricht das in etwa einer aktuellen Leistung von 1000 Watt. Könnte mich einer der Profis hier mal bitte mit der Nase draufschubsen, wie ich das gescriptet (blockly wäre fein) bekomme, damit ich in Grafana schöne Balken angezeigt bekomme?
Ich hänge bei der Frage, wie ich triggere und wie ich die Impulse zeitlich verarbeite.
Edit: Wäre es nicht sogar genauer, die Zeitabstände zwischen den Impulsen zu messen und entsprechende Leistung daraus zu errechnen? Dann wäre der Trigger die Änderung. Aber wie messe ich die Zeit?
-
Also ich verwende die Zeit (ms) zwischen zwei Impulsen um den aktuellen Verbrauch (Leistung in Watt) zu ermitteln. In meinem Fall bekomme ich diesen Wert von einem ESP (mit ESP easy) per MQTT direkt in ioBroker. Du kannst aber auch ganz einfach den Unterschied zwischen den beiden letzten Zeitstempeln ermitteln und damit rechnen. Mein Teilskript sieht so aus:
-
Das war ja mal ne schnelle Antwort, danke!
Wie ist denn /Strom/S0/Time bei dir definiert? Sind das die Impulse? Ich verstehe bei dir gerade nicht, wie die Zeit ermittelt wird.
Edit: Ich glaube jetzt hab ichs: Der ESP gibt dir schon die Zeit zwischen den Impulsen als Wert aus. Das macht ja mein Zähler leider nicht
Das ist mein Problem. Bekomme ich das innerhalb des Brokers irgendwie hin, die Zeit zu messen?
-
Vorschlag (nicht getestet):
Anmerkung: Zeitstempel ist eine Datenpunkteigenschaft (unter Trigger) und Zeit_letzter_Impuls ist eine erstellte Variable. -
Danke nochmal paul56. Fürs erste funtioniert dein Vorschlag ganz gut.
Nur eins hab ich bis jetzt nicht hinbekommen: Wenn das Auto vollgeladen oder die Ladung unterbrochen ist, bleibt der Wert so lange auf dem letzten Stand, bis ein weiterer Impuls am GPIO kommt. Mit dem geringen Eigenverbrauch des Zählers kann das mitunter seeehr lange dauern. Mal sehen ob ich das irgendwie gelöst bekomme, dass nach ca ner Minute "LeistungAuto" auf Null gesetzt wird.
-
Du kannst nach dem Setzen des Zeitstempels noch folgendes einfügen:
'Object ID' muss natürlich angepasst werden. So wird die aktuelle Leistung nach einer Minute auf '0' gesetzt wenn kein Impuls vom Zähler kommt.
-
Vielen Dank an euch. Funktioniert ganz gut.
-
Funktioniert ganz gut. `
Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst]. -
Hallo
Meine Version des Java Adapter 3.6.4
Gruß Hansi
-
@berndroid
Hallo Berndroid
Habe meine S0-Schnittstelle über Homematic 12/14 als Frequenzsignal in IOBroker hochgezogen.
Aber mit Blockly bin ich Beginner.Kannst Du den Blockly Script deiner Lösung oder einen Blockly Gesamt Screenshop hochladen.
Danke vorab.
LG Hartiman