NEWS
[gelöst] Deye GEN-Eingang mit JS schalten funktioniert nicht
-
@warp735 sagte in Deye GEN-Eingang mit IOB-JS schalten funktioniert nicht:
Probier das mal. Und in Time of Use muss der Prozentwert höher sein, als der aktuelle SOC
Habe ich probiert. Jetzt schaltet der GEN ein, aber er lässt sich nicht mehr ausschalten.
-
Ich habe zwischendurch einen 10 m-Baum mit der Motorsäge umgelegt - darum die Pause
-
@homoran
Ja. Wahrscheinlich muss ich zu einer Shelly -Schütz-Kombination greifen, um den GEN-Eingang einfach zu trennen. -
@fuzzy1955
Der lädt jetzt bis zum eingestellten Akku Wert. DAS musst du immer ändern und den Haken GEN Load. Am besten immer bei allen Uhrzeiten. Musst also 12 Register beschreiben -
-
@warp735 sagte in Deye GEN-Eingang mit IOB-JS schalten funktioniert nicht:
Der lädt jetzt bis zum eingestellten Akku Wert. DAS musst du immer ändern und den Haken GEN Load. Am besten immer bei allen Uhrzeiten.
Habe ich soeben getestet. Funktioniert leider nicht.
let intGenLaden1 = getState('alias.0.PV-Anlage.Wechselrichter.GEN_Laden1').val; //01 - 05h let intGenLaden2 = getState('alias.0.PV-Anlage.Wechselrichter.GEN_Laden2').val; //05 - 09h let intGenLaden3 = getState('alias.0.PV-Anlage.Wechselrichter.GEN_Laden3').val; //09 - 13h let intGenLaden4 = getState('alias.0.PV-Anlage.Wechselrichter.GEN_Laden4').val; //13 - 17h let intGenLaden5 = getState('alias.0.PV-Anlage.Wechselrichter.GEN_Laden5').val; //17 - 21h let intGenLaden6 = getState('alias.0.PV-Anlage.Wechselrichter.GEN_Laden6').val; //21 - 01h let intBattSet = 10; //% setState('modbus.0.holdingRegisters.1.166_GEN_Laden1', intBattSet, true); setState('modbus.0.holdingRegisters.1.167_GEN_Laden2', intBattSet, true); setState('modbus.0.holdingRegisters.1.168_GEN_Laden3', intBattSet, true); setState('modbus.0.holdingRegisters.1.169_GEN_Laden4', intBattSet, true); setState('modbus.0.holdingRegisters.1.170_GEN_Laden5', intBattSet, true); setState('modbus.0.holdingRegisters.1.171_GEN_Laden6', intBattSet, true);
Die Register lassen sich im IOB setzen, aber am Deye passiert gar nichts.
javascript.0 07:25:13.638 info script.js.common.Deye_GEN_schalten: GEN_Leistung = 5.033 kW javascript.0 07:25:13.638 info script.js.common.Deye_GEN_schalten: GenLaden 01-05h = 10 %, 05-09h = 10 %, 09-13h = 10 % javascript.0 07:25:13.638 info script.js.common.Deye_GEN_schalten: GenLaden 13-17h = 10 %, 17-21h = 10 %, 21-01h = 10 %
Der GEN-Anschluss lässt sich also auf diese Art nicht schalten
-
@fuzzy1955
Mach doch nicht zwei Sachen gleichzeitig... Erstmal alles direkt am WR testen, ob funktioniert wie gewünscht. DANN weiß man auch genau, was man womit beschreiben muss.So nervt das nur, wenn du mit Bildern vom WR daherkommst und plötzlich wieder mit nem Script
-
Pardon, ich hatte heute ganztags Termine.
Erstmal alles direkt am WR testen, ob funktioniert wie gewünscht. DANN weiß man auch genau, was man womit beschreiben muss.
Direkt am Deye hat es ja immer funktioniert. Entschuldige, wenn ich das zwischendurch nicht klar erwähnt habe.
Mir geht es - wie zu Beginn des Threads geschrieben habe - um das Automatische Schalten des GEN-Eingangs aus dem IOBroker mittels Script. Ich habe gerade entdeckt, dass die Register ab 60 R/W sind, also müsste das Beschreiben funktionieren. Ich probier das mal mit Modbus-Tools.
-
Ich habe den Fehler gefunden. Er lag bei mir im JavaScript. Zufällig habe ich bei den Objekten entdeckt, dass man beim Steuern eines Geräts die Checkbox "Bestätigt" NICHT ANKREUZEN darf - das entspricht im JavaScript beim SetState: FALSE
richtig: setState('modbus.0.holdingRegisters.1.140_GEN_Netzsignal_ein', 0, false); //0 = aus, 3 = ein falsch: setState('modbus.0.holdingRegisters.1.140_GEN_Netzsignal_ein', 0, true); //0 = aus, 3 = ein
Wieder etwas gelöst
Danke für dein Durchhaltevermögen!!
-
@fuzzy1955
Super
Das ist immer so. Bestätigen (oder auch nicht) tut´s ja dann der Deye. Der Wert ist kurz rot und wird beim nächsten Zyklus bestätigt.