NEWS
[gelöst] Deye GEN-Eingang mit JS schalten funktioniert nicht
-
@fuzzy1955 seltsamerweise steht bei 140 auch in der Registertabelle gar nichts außer der ID
-
@fuzzy1955 sagte in Deye GEN-Eingang mit IOB-JS schalten funktioniert nicht:
Auslesen kann ich alle Register.
oh neue Zusatzinfo
Dann passen ja die Einstellungen -
@warp735 sagte in Deye GEN-Eingang mit IOB-JS schalten funktioniert nicht:
Und jetzt zeig mal noch die GEN Port Einstellungen
-
@homoran sagte in Deye GEN-Eingang mit IOB-JS schalten funktioniert nicht:
seltsamerweise steht bei 140 auch in der Registertabelle gar nichts außer der ID
Es kommen Werte raus:
-
@homoran sagte in Deye GEN-Eingang mit IOB-JS schalten funktioniert nicht:
oh neue Zusatzinfo
Dann passen ja die EinstellungenWie eingangs beschrieben geht es mir nur um eines: Automatisches Schalten des GEN-Eingangs
-
@fuzzy1955 klar, aber wenn du lesen, aber nicht schreiben kannst und nichts in irgendeinem log steht, wird dieser DP nur zum lesen sein.
-
@fuzzy1955
Probier das mal. Und in Time of Use muss der Prozentwert höher sein, als der aktuelle SOC -
@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.