Beiträge von gmt94

    Hallo Zusammen,

    Dank der tollen Scripte von Marc und 66er, ist es mir gelungen, die aktuelle Leistung und den gesamten Energieverbrauch in meine CCU zu integrieren.

    Nun möchte ich sehr gerne Euch allen meine kleinen Scripte zur Verfügung stellen, die zum einen den aktuellen Tagesverbrauch und zum anderen den Verbrauch von Gestern in eine Systemvariable schreiben.

    Ich messe mit meinem Shelly den Verbrauch meiner Lüftungsanlage im Haus, aus dem Grund heißen die Variablen bei mir …_Lueftungsanlage_....

    Zunächst müssen 3 Systemvariablen angelegt werden:

    Verbrauch_Lueftungsanlage_temp“ (in diese Variable wird jeden Tag um 00:01 der aktuelle Gesamtverbrauchswert des Shellys geschrieben, temp steht für temporär)

    Verbrauch_Lueftungsanlage_heute“ (Diese Variable zeigt den aktuellen Tagesverbrauchswert an)

    Verbrauch_Lueftungsanlage_gestern“ (Diese Variable zeigt den gestriegen Tagesverbrauchswert an)


    Als erstes erstellt ihr ein Programm, dass täglich zum Zeitpunkt 00:01 aufgerufen wird.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Das Script dafür sieht wie folgt aus:

    Code
    var a = dom.GetObject("Shelly_Verbrauch").Value();
      
    dom.GetObject("Verbrauch_Lueftung_temp").State(a);

    „Shelly_Verbrauch“ ist die Variable, die vom Shelly übergeben wird und bei mir alle 30s aktualisiert wird. Diese wird um 00:01 in die temporäre Größe "Verbrauch_Lueftung_temp" geschrieben.


    Anschließend wird ein neues Programm erstellt, welches den aktuellen Tagesverbrauch ermittelt. Dazu muss die Zeitsteuerung als Bedingung gewählt werden. Das ganze muss ganztägig laufen und als Serienmuster im Zeitintervall aufgerufen werden. Ich habe hier 5 Minuten gewählt, Da könnt ihr euch einen Wert aussuchen. Je nach Gusto, wie oft der Tageswert aktualisiert werden soll.


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Das Script dafür sieht wie folgt aus:

    Code
    integer a = dom.GetObject("Shelly_Verbrauch").Value();
      
    integer b = dom.GetObject("Verbrauch_Lueftung_temp").Value();
    integer c = a-b;
    dom.GetObject("Verbrauch_Lueftung_heute").State(c.ToString(2));

    Hier wird eine Differenz aus dem aktuellen Wert der vom Shelly übergeben wird mit der Temporären Größe gebildet. Anschließend wird der Wert auf 2 Nachkommastellen gerundet und in die Variable "Verbrauch_Lueftung_heute" geschrieben.

    Abschließend muss noch ein Programm erstellt werden, dass einmal täglich am Tagesende (23:59 Uhr) den Tagesverbrauchswert in den Verbrauchswert von gestern schreibt.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Das Script dafür sieht wie folgt aus:

    Code
    var a = dom.GetObject("Verbrauch_Lueftung_heute").Value();
      
    dom.GetObject("Verbrauch_Lueftung_gestern").State(a.ToString(2));

    Anlag zum ersten Script wird hier des Tagesverbrauch in den Verbrauch für gestern geschrieben.

    Achtung bei Stromausfall oder Netztrennung wird der Gesamtverbrauch im Shelly auf 0 gesetzt. D.h. der Shelly wird in diesem Fall den aktuellen Tageswert falsch berechnen. In dem Fall müsste die Scripte einmal von Hand ausgeführt werden.

    Das gleiche gilt auch beim Erstellen dieser Scripte, da ja immer erst zum Tageswechsel die Systemvariablen mit sinnvollen Werten beschrieben werden.

    So ich hoffe, dass irgendjemand etwas mit diesen kleinen Scripten anfangen kann.

    Euch noch einen schönen 2. Advent.

    Grüße Henning

    Das Skript scheint zu laufen. :)

    Noch ein letzter Test zur Sicherheit:

    Code
    {"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-44},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"19:22","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":65.07,"is_valid":true,"timestamp":1575660157,"counters":[65.787, 65.050, 65.654],"total":210238}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.31,"overtemperature":false,"tmp":{"tC":42.31,"tF":108.16, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":37212,"fs_size":233681,"fs_free":172437,"uptime":276535}
    {"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-45},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"19:22","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":65.07,"is_valid":true,"timestamp":1575660157,"counters":[65.787, 65.050, 65.654],"total":210238}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.31,"overtemperature":false,"tmp":{"tC":42.31,"tF":108.16, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":37212,"fs_size":233681,"fs_free":172437,"uptime":276536}
    210238
    3.503967
    Ende Berechnung

    Bitte das Ganze wiederholen mit diesem Code:

    Die Ausgabe wieder hier posten.


    Code
    {"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-43},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"19:18","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":66.19,"is_valid":true,"timestamp":1575659886,"counters":[65.007, 65.741, 65.224],"total":209976}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.38,"overtemperature":false,"tmp":{"tC":42.38,"tF":108.29, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":37212,"fs_size":233681,"fs_free":172437,"uptime":276264}
    {"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-44},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"19:18","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":66.19,"is_valid":true,"timestamp":1575659886,"counters":[65.007, 65.741, 65.224],"total":209976}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.38,"overtemperature":false,"tmp":{"tC":42.38,"tF":108.29, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":37212,"fs_size":233681,"fs_free":172437,"uptime":276264}
    209976

    Stop!

    Gerade un Deinem Programm in#22 einen Fehler gesehen:

    Im WENN bitte auf "bei Änderung" korrigieren und testen.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.
    Code
    {"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-44},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"18:54","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":65.03,"is_valid":true,"timestamp":1575658466,"counters":[65.686, 65.493, 64.962],"total":208405}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.02,"overtemperature":false,"tmp":{"tC":42.02,"tF":107.63, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":37212,"fs_size":233681,"fs_free":172437,"uptime":274846}
    {"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-44},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"18:54","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":65.03,"is_valid":true,"timestamp":1575658467,"counters":[65.686, 65.493, 64.962],"total":208405}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.02,"overtemperature":false,"tmp":{"tC":42.02,"tF":107.63, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":36900,"fs_size":233681,"fs_free":172437,"uptime":274846}

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Anbei die Screenshots....

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Hallo zusammen

    bitte entschuldigt mich, dass ich euch schon wieder mit solch belanglosen Dingen störe. Ich habe nach der Anleitung von 66er hier im Forum versucht den Schaltzustand des Schalters aktualisieren zu lassen. Sobald ich jedoch per Shelly App abschalte wird der Status nicht aktualisiert. Die Zeit wann der Schalter aktualisiert wird, wird auch nicht mehr in den Schrittweiten des CuxD aktualisiert. Das Programm jedoch läuft im Takt durch und immer weiter. Anbei wie gewünscht mein der Script-Code und die Screenshots.

    Ich lasse den Timer alle 10 Sekunden laufen für die Testphase, einfach nur das es schneller geht.

    IP-Adresse Shelly: 192.168.178.49

    IP-Adresse Rasperry: 192.168.178.24

    CuxD Timer CUX2800001:1

    CuxD Schalter CUX4000001:1

    CuxD Exec CUX2801001:1

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Vielen Dank für Eure Unterstützung!

    Und wie bekomme ich den Antwort String in meine ccu?

    Das ist hier alles noch so Neuland für mich.

    Zur Zeit suche ich nur Scripte im netz und Versuche die auf meine Sachverhalte anzupassen. Nur so richtig klar was ich da mache ist mir noch nicht.