Ein EM muss nicht ständig ein Relais einschalten und misst vermutlich auch etwas genauer
Beiträge von dzkz0
-
-
Das Problem des Shelly 3EM ist das er keine Serielle RS485 Schnittstelle hat.
Normalerweise bekommt darüber der Wechselrichter seine Informationen und hat hierzu genauso einen Anschluß für RS485.
Allerdings kocht hier jeder Wechselrichter sein eigenes Süppchen, wodurch man jeweils den passenden Strommeter benötigt. Leider haben die wiederum nicht immer die passenden Schnittstellen für das Smarthome.
Man kann aber die Werte vom den Shelly EM oder 3EM über MQTT abgreifen, Ausserdem gibt es für fast jede Oberfläche passende Module um davon die Daten zu bekommen.
Ich greife die Daten per IOBroker, NodeRed und MQTT ab.
Für mich ist es am einfachsten mit NodeRed die Werte zu erhalten und zu manipulieren bzw. zu berechnen. Das ist aber Geschmackssache.
Der Shelly Adapter ist bei NOdeRed im Moment auch noch sehr mit Änderungen behaftet, die nicht gerade hilfreich sind um ein stabiles System zu bekommen.
-
War die Überlast Abschaltung unter Sicherheit aktiv ? Wenn man da den Hacken raus nimmt wird das nur nicht mehr als Event erfasst abschalten tut der Shelly trotzdem.
Das kann ich nicht sagen, ich hatte es mal abgeschaltet. Da es aber nach jedem reboot wieder aktiv wurde habe ich da nicht weiter nachgeschaut.
Mal sehen wie es mit TASMOTA läuft, seit 30 Minuten ist nun der vermeintlich defekte Shelly Plus 1 PM mit TASMOTA zwischen Balkonkraftwerk und Verteilung.
-
Das Skript war enable und running. Neu gestartet habe ich den Shelly nicht.
-
Das Skript hat sich im Falle einer Überlast selbst beendet und das Relais war aus.
Vielleicht bin ich auch nur zu blöd das Skript zu verwenden, eine Logausgabe habe ich nirgends gefunden. In der Console gab es nichts zu sehen.
-
Hier das funktioniert, wirklich sicher ist das aber nicht.
Code
Alles anzeigen//Zeit bis der Shelly wieder eingechaltet wird in Sekunden. let zeit = 10; //Anzahl der erlaubten auto einschalt Versuche. let versuche = 2; //Wenn man den Shelly manuell ein oder aus schaltet egal ob per Interface oder Taster/Schalter werden die auto Versuche zurück gestellt. //("Initialisierung") let zH1; let zH2; let counter=0; let block=false; function AutoReset(){ Timer.clear(zH1); Timer.clear(zH2); Shelly.call("Switch.Set",{id:0,on:true}); counter++; block=true; zH2=Timer.set(2*1000,false,function(){block=false;}); console.log("Auto Reset durchgefuehrt"); } function Check(daten){ if(daten.info.id===0 && daten.info.event==="overpower"){ Timer.clear(zH1); let leistung =JSON.stringify(daten.info.apower); console.log("Abchaltung wegen einer Ueberlastung von "+leistung+"W"); (counter<versuche)?(zH1=Timer.set(zeit*1000,false,AutoReset)):console.log("Auto Reset abgebrochen, manuelles einschalten erforderlich"); } if(daten.info.id===0 && daten.info.state===true && block===false){ Timer.clear(zH1); counter=0; print("clear"); } } //("_main_") Shelly.addEventHandler(Check);
So sollte das im Log aussehen wenn alles klappt.
Code
Alles anzeigenAbchaltung wegen einer Ueberlastung von 0.100000W 13:18:22.125 Auto Reset durchgefuehrt 13:18:32.159 Abchaltung wegen einer Ueberlastung von 0.500000W 13:18:34.122 Auto Reset durchgefuehrt 13:18:44.156 Abchaltung wegen einer Ueberlastung von 0.300000W 13:18:46.123 Auto Reset abgebrochen, manuelles einschalten erforderlich 13:18:46.133
Das Skript funktioniert nicht im Falle des Problems.
Auch mit meinem zweiten Shelly Plus 1PM habe ich genau das gleiche Verhalten.
Ich habe nun den ersten den der Shelly Support "ersetzt" hat, mit TASMOTA geflashed und werde den nun nochmals verbauen.
Wenn auch das nicht funktioniert werde ich den Shelly Plus 1PM für diese Zwecke nicht mehr nutzen.
Mir ist es auch schleierhaft weshalb man diese Schutzfunktionien nicht deaktivieren kann. Die sind im Falle eines Balkonkraftwerks nutzlos, ob die Spannung, Frequenz in Ordnung ist prüft der Wechselrichter. Die Maximalle Leistung wird durch die Sicherung begrenzt, wenn 4480 W eingestellt sind ist das deutlich über den 16A meines Leitungsschutzschalters. Selbst der Shelly Plug macht hier misst und hat meine Waschmaschine beim einschalten abgeschaltet, erst bei 4480W hat er ruhe gegeben.
Vermutlich ist die Reaktionzeit hier viel zu kurz eingestellt.
Übrigens finde ich die Platine im Shelly Plus 1PM auch grenzwertig, die L1 Leitungen wurden extra verzinnt um höheren Strömen gewappnet zu sein, bei N hat man das nicht getan. Nutzt man nun die zwei N Klemmen um die Last z.B. über L0 und N anzuschliessen fliest auch dort der komplette Strom darüber, was bei höheren Leistungen sicherlich zu einem durchbrennen der Leiterbahn führt.
-
Er befindet sich draußen in einer Dose. Das abschalten passiert bei mir immer dann wenn kein Verbraucher bzw. das Balkonkraftwerk nichts liefert. Ich überwache ebenfalls den Shelly mit einen Nodered Skript und schalte ihn wieder ein, leider scheint das aber nicht zu funktionieren wenn er durch "Max Power Protection" abgeschaltet wurde. Gleiches gilt auch für den Timer dem ich 10 Sekunden hinterlegt habe zum automatischen einschalten.
Ich habe noch einen Shelly Plus 1PM hier liegen, ich glaube allerdings das die Dinger insgesamt ziemlich instabil sind.
-
Nach meinen bisherigen Erfahrungen ist der Shelly Plus 1PM nicht geeignet weil er gerne das Relais wegen "Max power protection" abschaltet, leider lässt sich das nicht abschalten.
Aus mir unerfindlichen Gründen wird gerne in der Nacht das Relais abgeschaltet,
also dann wenn das Balkonkraftwerk nichts einspeißt und nur der Wechselrichter (Hoymiles HM-600) ein im nicht messbaren Bereich Verbraucher darstellt.
Bei meinem ersten Shelly Plus 1PM dachte ich noch das es ein Fehler ist, der Shelly Support bestätigte mir das mein Shelly Plus 1PM defekt sei, und gab mir einen Gutschein um einen neuen zu bestellen.
Doch auch mit diesem war das Relais nur 2 Tage an und heute wieder aus.
Da ich sowieso noch ein 1EM und 3EM zur Messung im Schaltschrank habe werde ich den Shelly Plus 1PM ersatzlos entfernen.
- Entweder kommt der dort verwendete Messchip mit diesen "Lasten" nicht zurecht.
- Oder der Messchip bzw. die Software hat Probleme beim Übergang zwischen positiven und negativen Lasten im Bereich > -1W und < 620W was die "Max power protection" auslöst
Ich verstehe auch nicht weshalb man einen Schalter hat um "Max power protection" abzuschalten, dieser aber ohne Wirkung ist. Laut Support kann man es nicht ausschalten.
-
Danke, das war der entscheidene Hinweis.
"Generic status update over MQTT" war bei mir deaktiviert.
Warum das per default deaktiviert ist und noch schlimmer weshalb die beiden Schalter bei mir erst nach mehren refreshs angezeigt wurden...
Für die denen es genauso geht:
1. Unter Device MQTT Debug aktivieren
2. Erst danach erscheinen die zwei Schalter in den MQTT Settings, lieber Shelly Support ändert das
3. Danach kann man MQTT Debug wieder deaktivieren die Schalter in den MQTT Settings bleiben erhalten
Wer denkt sich so einen quatsch aus, kein Wunder das Tasmota auf den Shellys so gerne benutzt wird.
Mich hat schon bei den Shellys der ersten Generation gestört das nur Cloud oder MQTT geht, jetzt schon wieder so ein Blödsinn...
-
Bei mir sieht das wie folgt aus:
Und ich habe die aktuellsten Versionen vom IOBROKER 5.3.1, dem Shelly Adapter 5.3.2, node.js v14.19.1, js-controller 4.0.21 und npm 6.14.16.
Die einzigen Unterschied zu dem was ich bei dir sehe ist das du bereits 5.3.2 hast.
-
Ich sehe in MQTT lediglich ein JSON Objekt, dieses beinhaltet aber nicht alle Parameter, z.B. fehlt Power und Energy. Das ist bei mir so mit der Firmware 0.7 die im Auslieferungszustand auf den Shelly PM1 Plus war und auch mit der Version 0.10 nach dem Update.
Im Iobroker fehlen die Werte genauso, wie auch wenn ich MQTT direkt auf einen MQBroker umbiege.
Es kommt nur:
Code{"src":"shellyplus1pm-xxxxxxxxxxxx","dst":"shellyplus1pm-xxxxxxxxxxxx/events","method":"NotifyStatus","params":{"ts":1647719160.9,"switch:0":{"id":0,"aenergy":{"by_minute":[82.473,20.79,0],"minute_ts":1647719158,"total":1.868}}}}
Da fehlt einiges, im Iobroker gibt es noch mehr Ausgaben, dort muss also moch was per HTTP abgefragt werden, leider fehlt aber Power, Energy und noch einiges mehr.
Die einzige Möglichkeit die ich gefunden habe ist mit NodeRed per node-red-contrib-shelly darauf zuzugreifen, nur hier bekomme ich alle Werte und Steuermöglichkeiten.
Code{"ble":{},"cloud":{"connected":true},"input:0":{"id":0,"state":false},"mqtt":{"connected":true},"switch:0":{"id":0,"source":"init","output":true,"apower":23.4,"voltage":225.6,"current":0.149,"aenergy":{"total":61.612,"by_minute":[394.135,395.455,386.183],"minute_ts":1647719638},"temperature":{"tC":45.1,"tF":113.3}},"sys":{"mac":"441793D46C50","restart_required":false,"time":"20:54","unixtime":1647719640,"uptime":8765,"ram_size":254632,"ram_free":150632,"fs_size":458752,"fs_free":221184,"cfg_rev":15,"available_updates":{}},"wifi":{"sta_ip":"192.168.8.157","status":"got ip","ssid":"IoT","rssi":-65}}
Ich vermute ich habe irgendwo einen Schalter übersehen um MQTT vollumfänglich zu aktivieren, nur wo finde ich den?