NEWS
SOLVED [solved]Gesamtverbrauch berechnen per Blockly Skript funktioniert nicht: unsubscribe: invalid type of id - number
-
Hi Leute,
ich möchte gerne den Gesamtstromverbrauch mittels Blockly Script berechnen.
Als Werte habe ich meine aktuelle PV Erzeugung vom SMA Wechselrichter sowie meinen aktuellen Netzbezug vom SMA Energy Meter.
Einen Datenpunkt mit "Gesamtverbrauch" vom Typ Zahl habe ich ebenfalls angelegt.
Mein Skript hätte ich mir so zusammengebastelt:
Leider bleibt "Gesamtverbrauch" immer auf 0W, sprich das Skript scheint nicht zu funktionieren.
Im Log erhalte ich folgende Fehlermeldung:
javascript.0 2018-02-24 10:30:03.015 info script.js.Berechnung_Gesamtverbrauch_V2: registered 1 subscription and 0 schedules javascript.0 2018-02-24 10:30:03.015 info script.js.Berechnung_Gesamtverbrauch_V2: subscribe: {"pattern":{"id":2938,"change":"ne"},"name":"script.js.Berechnung_Gesamtverbrauch_V2"} javascript.0 2018-02-24 10:30:03.015 info script.js.Berechnung_Gesamtverbrauch_V2: getState(id=sma-em.0.1901701237.pregard, timerId=1) => {"val":2938,"ack":true,"ts":1519464602331,"q":0,"from":"system.adapter.sma-em.0","lc":1519464602331} javascript.0 2018-02-24 10:30:02.998 info Start javascript script.js.Berechnung_Gesamtverbrauch_V2 javascript.0 2018-02-24 10:30:01.269 error unsubscribe: invalid type of id - number javascript.0 2018-02-24 10:30:01.269 info Stop script script.js.Berechnung_Gesamtverbrauch_V2
Kann mir hier jemand erklären wo der Fehler liegt ?
Liegt es eventuell daran, dass der Wert Netzbezug aus dem Energy Meter Adapter als Logikwert übergeben wird ?
Danke.
Beste Grüße
-
Leider bleibt "Gesamtverbrauch" immer auf 0W, sprich das Skript scheint nicht zu funktionieren. `
Man kann nicht den "Wert" von "Netzbezug" triggern.Da gehört die ID des Datenpunktes hin.
Grüße
-
Danke für die Info, das wusste ich nicht.
Und schon klappts auch mit dem Skript
Weißt du auch wie ich den Wert Gesamtverbrauch auf nur eine Kommastelle reduzieren kann ?
Der hat sonst teilweise 7 Kommastellen …
Beste Grüße
-
@Qlink Ich versuche auch den Gesamtverbrauch des Hauses zu ermitteln. Kannst du mal dein fertiges Blockly Script posten?
-
Habt Ihr euch mal die neuen Adapter statistics und sourceanalytix angesehen?
-
SourceAnalytix kan dies alles, nur die Berechnung watt nach kWh arbeite ich noch dran
-
Ich möchte einfach nur die drei Werte aus der sunny App darstellen.
Für den Gesamtverbrauch fehlt mir scheinbar noch irgendeine ID -
Keiner eine Idee?
-
@KaFaBE said in [solved]Gesamtverbrauch berechnen per Blockly Skript funktioniert nicht: unsubscribe: invalid type of id - number:
@Qlink Ich versuche auch den Gesamtverbrauch des Hauses zu ermitteln. Kannst du mal dein fertiges Blockly Script posten?
Hier ist mein Blockly:
Die Werte PV-Erzeugung und Netzbezug liefert ja der SMA Adapter bzw. der Modbus Adapter.
Das obige Blockly addiert diese beiden Werte und ergibt den Gesamtverbrauch.
Somit hast du alle 3 Werte wie im Sunny Portal angegeben.Hier noch die Umrechnung vom Wert Netzbezug von W in kW.
var idNetzbezug = 'hm-rega.0.40900'; // Datenpunkt-ID vorhanden var idNetzbezugkW = 'javascript.0.Netzbezug.kW'; // Datenpunkt-ID für neuen DP Netzbezug in kW function calckW() { var Netzbezug = parseFloat(getState(idNetzbezug).val); setState(idNetzbezugkW, (Math.ceil(100 * getState(idNetzbezug).val /1000) / 100), true); } on(idNetzbezug, calckW); // bei jeder Änderung von Netzbezug
Beste Grüße
-
@qlink Hallo, woher bekommst du die Variable Netzbezug Gesamtverbrauch ?
Ich blicke hier überhaupt nicht mehr durch...
-
Netzbezug.Gesamtverbrauch ist ein Datenpunkt den ich manuell erstellt habe, welcher mit dem Ergebnis der Blockly Berechnung befüllt wird.