Beiträge von Andyman

    Den lese ich bereits aus mittels einem HM-ES-TX-WM plus optischem Sensor. Der aktuelle Gesamtverbrauch und die aktuelle Gesamterzeugung habe ich somit bereits. Wenn aber der gesamte Bezug höher ist als die erzeugte Menge (es ist nur ein kleines 600W Balkonkraftwerk), dann ist der Bezug halt um die erzeugte Menge kleiner. Nur interessehalber würde ich gern die erzeugte Menge dokumentieren.

    Ich habe einen digitalen Zweirichtungszähler, der Bezug und Einspeisung absolut misst. Um den Anteil der erzeugten Energie aber aus dem Verbrauch (der in der Regel größer ist als die Erzeugung) herauszuextrahieren, würde ich gern die Erzeugung separat erheben und in einer Homematic Systemvariable speichern. Gemessen wird die Erzeugung nur über einen Shelly Plug S. Ich sehe schon, da müsste man etwas in Homematic bauen, was anhand Leistung pro Zeit was errechnet...

    Hallo nochmal,

    da das ja jetzt so toll funktioniert, habe ich bereits ein bißchen weitergedacht und mir vorgestellt, in der Homematic 2 Systemvariablen zu erzeugen: 1. Verbrauch/Erzeugung aktueller Tag in [kWh] und 2. Verbrauch/Erzeugung Vortag in [kWh]. Hast Du eine Idee, wie man dies eventuell mit ins Script integrieren könnte? Lässt sich dies auch aus dem Shelly auslesen, oder müsste man in HM anfangen, zu zählen/rechnen?

    Grüße Andreas

    So, Rückmeldung: Es funktioniert jetzt!! 🥳 Vielen Dank für das Auffinden dieses zum Glück ja doch recht einfachen Fehlers!

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

    Was mich jetzt noch wundert: Es werden die Systemvariablen korrekt mit Daten befüllt, aber doch nicht dem Gerätekanal zugeordnet:

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

    Hab sie (die Systemvariablen) extra nochmal gelöscht und vom Script neu erstellen lassen, jedoch ohne Kanalzuordnung. Egal, das bekomme ich auch manuell hin.

    Noch eine Frage: In einem anderen Thread habe ich gelesen, dass es Sinn macht, als Bedingung für die Scriptausführung noch eine Onlineabfrage des jeweiligen Shellys (bei mir nur der eine) mit einzubauen. Habe ich gemacht. Dummerweise hat sich heute Nacht um 23.50 Uhr der Shelly (warum auch immer) kurz vom WLAN abgemeldet. Da ja die Aktualisierung des Onlinestatus im Script stattfindet, blieb er nun offline, bis ich heute früh das Script manuell ausführte und er sich aktualisierte. Ich habe also diese Abfragebedingung vorerst wieder entfernt... Macht das so wirklich Sinn?

    Danke + Grüße

    Andreas

    Die Response im Browser lautet:

    Code
    {"power":0.00,"overpower":0.00,"is_valid":true,"timestamp":1675963568,"counters":[0.000, 0.000, 0.000],"total":271693}

    Die aktuelle Leistung ist wirklich auf 0.0W, da das Balkonkraftwerk aufgrund fehlender Sonne bereits ausgeschaltet ist. Meinen Shelly habe ich nicht mit Zugangsdaten versehen, die CCU (Raspberrymatic) aber schon. Das klappt ja auch soweit mit z.B. der Statusrückmeldung vom Shelly an die Homematic und der Aktualisierung des Online-Status.

    Meine Firmwareversionen lauten:

    Firmware CCU: Raspberrymatic 3.67.10.20230114 auf Raspberry Pi 3B+

    CUxD-Version: 2.10.1

    Firmware Shelly: 20230109-114426/v1.12.2-g32055ee

    Hallo,

    ich habe das CUxD-Exec-Gerät 2801005 gelöscht und gemäß deiner Anleitung ein neues erstellt, das heißt jetzt CUX2801004. Dieses habe ich auch im Script eingetragen und die alten Systemvariablen gelöscht. Das Script sieht jetzt so aus:

    Leider scheint das aber dennoch nix am Output zu ändern, es werden zwar neue Systemvariablen angelegt, diese aber nicht dem Gerätekanal zugeordnet, geschweige denn die Leistung aktualisiert.

    Wenn ich den Code bei "Skript testen" einfüge, erhalte ich wieder dieses Ergebnis:

    Code
    Skript startet
    102
    Shelly PlugS ist online
    http://192.168.0.27/relay/0/status
    http://192.168.0.27/meter/0?status
    Skript beendet !

    Meine Vermutung ist, dass die Syntax der Befehlsausführung eventuell mit den " (doppelten Hochkommata) Probleme hat, bei den Schaltaktionen im Shelly musste ich diese auch durch %22 ersetzen, bis es funktionierte, siehe hier: http://Admin:PASSWORT@192.168.0.21:8181/66er.exe?Antwort=dom.GetObject(%22CUxD.CUX4000004:1.SET_STATE%22).State(0)

    Könnte dies ein Grund sein?

    Danke und Grüße

    Andreas

    Okay, danke. Ich habe es jetzt im Script geändert, erst auf CUX2801005:1, dann nach Erfolglosigkeit mal auf CUX2801005:10, da ich mir nicht sicher bin, ob die niedrigeren Kanäle von anderen Programmen genutzt werden. Leider ebenfalls ohne Erfolg. Was mich auch wundert, die Systemvariablen werden zwar durchs Script beim ersten Durchlauf automatisch angelegt, jedoch nicht mit dem Gerät verknüpft, dies habe ich mal manuell probiert. Auch habe ich mal das CUxD-Gerät nochmal gelöscht und neu angelegt, da es nicht wie auf deinen Screenshots aussah. Leider brachte alles keinen Erfolg. Die Leistung wird nicht übertragen :-( Wenn ich im Browser http://192.168.0.27/meter/0?status eingebe, erscheint als Rückmeldung

    Code
    {"power":3.49,"overpower":0.00,"is_valid":true,"timestamp":1675771359,"counters":[3.445, 3.455, 3.464],"total":86}

    Das scheint also schonmal zu gehen. Nehme ich aber in deinem Script ein paar Ausrufezeichen "Script-Leistungsbereich"- vor den WriteLines heraus, erhalte ich aber keine Ausgabe...

    Hallo zusammen,

    mein erster Beitrag hier, also bitte nicht gleich verprügeln, falls ich mich irgendwie unklar ausdrücke! 😊

    Ich habe mithilfe der tolle Anleitung unter Shelly Plug-S in Homematic einbinden (V2) - mit der Originalfirmware meinen Plug S in Homematic eingebunden, um damit die Leistung meines Balkonkraftwerks zu überwachen. Ich habe mich daran entlang gehangelt und fast alles zum Laufen bekommen. Allerdings funktioniert eine für mich wichtige Sache nicht, und das ist leider genau das Auslesen der aktuellen Leistung aus dem Shelly und das Schreiben in die Systemvariable. Ich kann den Plug S problemlos in HM an- und ausschalten; wenn ich das in der Shelly-Oberfläche tue, bekommt die HM davon auch mit, und auch der Online-Status wird auch korrekt in die Systemvariable geschrieben/aktualisiert. Nur die Leistung steht dauerhaft auf 0.00 Watt. Unabhängig davon, ob Strom fließt oder nicht. Das Script sieht bei mir folgendermaßen aus:

    Das Script selbst triggere ich mit dem Homematic internen Zeitmodul auf minütliche Ausführung. Das klappt auch, wie ich anhand des zu jeder vollen Minute stattfindenden Aktualisierungintervall beim Onlinestatus. Nur die Leistung wird nicht verändert (auch nicht der Zeitstempel). Woran könnte das liegen?

    Wenn ihr noch etwas benötigt, liefere ich das gern ;-)

    Danke schonmal vorab und freundliche Grüße

    Andreas