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:

    415_script_verbrauch.png

    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 ?

    415_obj_netzbezug1.png
    415_obj_netzbezug2.png
    415_obj_netzbezug3.png

    Danke.

    Beste Grüße


  • @Qlink:

    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?

  • Developer Most Active Administrators

    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

    FE30FB49-F8A0-4227-AE24-08DDA7850B26.jpeg A9F03A79-7E68-4C04-A709-69AF6885659A.png


  • 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:

    gesamt.PNG

    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

Suggested Topics

1.3k
Online

38.3k
Users

43.8k
Topics

611.8k
Posts