NEWS
SMA Wechselrichter Modbus Werte auf 0 setzen
-
Hallo,
wenn der SMA Wechselrichter aus geht, dann schickt er über Modbus Minuswerte. Diese möchte ich nicht in meiner Datenbank haben. Es soll jetzt also eine 0 geschrieben werden, wenn der Wert unter 1 Watt ist. Leider funktioniert es nicht. Kann mir jemand sagen, was ich beim Skript falsch habe?

-
nix alles so wie du meinst.. aber auch nicht.. du reagierst auf die Wertänderung von dem Object.. also -1 das wird natürlich auch Protokolliert und du setzt es auf 0 .. und das wird wiederrum auch Protokolliert..
das geht so nicht wie du dir das vorstellst.. du musst mit einem eigenem Wert arbeiten.. und diesen Protokollieren
sonst müsstest du den Wert abfangen bevor es im Objekt landet und das kann nur der Adapter internalso eigenens Object erstellen diesen in die DB schreiben
bei jedem Änderung des Objectes _PV-Leistung schreibst du das in dein Object rein
nur nicht wenn dieser -1 ist.. fertig.. dann brauchst du noch nichtmal 0 Wert rein zuschreiben... -
nix alles so wie du meinst.. aber auch nicht.. du reagierst auf die Wertänderung von dem Object.. also -1 das wird natürlich auch Protokolliert und du setzt es auf 0 .. und das wird wiederrum auch Protokolliert..
das geht so nicht wie du dir das vorstellst.. du musst mit einem eigenem Wert arbeiten.. und diesen Protokollieren
sonst müsstest du den Wert abfangen bevor es im Objekt landet und das kann nur der Adapter internalso eigenens Object erstellen diesen in die DB schreiben
bei jedem Änderung des Objectes _PV-Leistung schreibst du das in dein Object rein
nur nicht wenn dieser -1 ist.. fertig.. dann brauchst du noch nichtmal 0 Wert rein zuschreiben... -
Ich habe dieses JS seit Beginn erfolgreich am laufen:
createState('javascript.0.Manuell.Systemvariable.PV_Anlage.PVLeistung', { name: 'PVLeistung', unit: 'Watt', type: 'number', def: 0, min: 0 }); on({id: "modbus.0.inputRegisters.30777_Power_L1", change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("javascript.0.PV_Anlage.Werte.PVLeistung", (getState("modbus.0.inputRegisters.30777_Power_L1").val), true); }); -
Ich habe dieses JS seit Beginn erfolgreich am laufen:
createState('javascript.0.Manuell.Systemvariable.PV_Anlage.PVLeistung', { name: 'PVLeistung', unit: 'Watt', type: 'number', def: 0, min: 0 }); on({id: "modbus.0.inputRegisters.30777_Power_L1", change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("javascript.0.PV_Anlage.Werte.PVLeistung", (getState("modbus.0.inputRegisters.30777_Power_L1").val), true); });@Röstkartoffel sagte in SMA Wechselrichter Modbus Werte auf 0 setzen:
min: 0
Geht natürlich auch und ist einfacher. Einfach den kleinsten möglichen Wert für den Datenpunkt fest auf "0" setzen.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden

