Brovning / e3dc

IP-Symcon (IPS) Modul für E3DC Stromspeicher mit Modbus TCP Unterstützung (bspw. S10 mini, S10 E, S10 E Pro und Quattroporte).
8 stars 1 forks source link

Fehler beim Übernehmen der Änderungen #1

Closed cfis72 closed 4 years ago

cfis72 commented 4 years ago

Hallo, schöne Arbeit. Ich habe den E3/DC mit Hilfe von Skripten in IP-Symcon eingebunden. Ich werde auf das Modul hier umstellen.

Zum Fehler: Bei der Installation hat alles geklappt, die Werte werden ausgelesen, bis auf Autarkie und Eigenverbrauch. Beim Speichern der Instanzkonfiguration bekomme ich diese Meldung: Fehler beim Übernehmen der Änderungen

Fehler beim Übernehmen der Änderungen

<br /> <b>Warning</b>: Variable mit dem Namen Value konnte nicht gefunden werden in <b>/var/lib/symcon/modules/.store/e3dc/e3dc/module.php</b> on line <b>315</b><br /> <br /> <b>Warning</b>: Root kann nicht geändert werden in <b>/var/lib/symcon/modules/.store/e3dc/e3dc/module.php</b> on line <b>316</b><br /> <br /> <b>Warning</b>: Variable mit dem Namen Value konnte nicht gefunden werden in <b>/var/lib/symcon/modules/.store/e3dc/e3dc/module.php</b> on line <b>346</b><br /> <br /> <b>Warning</b>: Root kann nicht geändert werden in <b>/var/lib/symcon/modules/.store/e3dc/e3dc/module.php</b> on line <b>347</b><br /> (Code: -32603)

Eine Idee was da falsch ist?

Brovning commented 4 years ago

Hallo, du bist mit dem Testen schneller, als ich mir das gedacht hatte. :-) Mein E3DC ist noch gar nicht angeschlossen und soeben habe ich erst ein Release für erste Tests hochgeladen. Das vorherige Release war mehr oder weniger ein testweises Onlinestellen im Modul-Shop... ;-)

Könntest du das aktuelle Modul v0.2 mit dem Titel "erste Version für Tests" bitte nochmals Testen?

Brovning commented 4 years ago

Wie heißt die Variable, welche jeweils unter der Modbus Adressen Instanz erstellt wird? Ich habe eine Vermutung, dass diese bei dir nicht "Value" heißt...

cfis72 commented 4 years ago

Hallo, du bist mit dem Testen schneller, als ich mir das gedacht hatte. :-) Mein E3DC ist noch gar nicht angeschlossen und soeben habe ich erst ein Release für erste Tests hochgeladen. Das vorherige Release war mehr oder weniger ein testweises Onlinestellen im Modul-Shop... ;-)

Könntest du das aktuelle Modul v0.2 mit dem Titel "erste Version für Tests" bitte nochmals Testen? ja, das war Zufall heute ;-) v0.2 ist installiert, bis jetzt hab ich noch keine Änderungen bemerkt.

cfis72 commented 4 years ago

Wie heißt die Variable, welche jeweils unter der Modbus Adressen Instanz erstellt wird? Ich habe eine Vermutung, dass diese bei dir nicht "Value" heißt...

Richtig, die heißen "Wert". image

Brovning commented 4 years ago

Hallo, habe soeben einen "QuickFix" online gestellt. Bitte nochmals kurz testen.

cfis72 commented 4 years ago

Hallo, habe soeben einen "QuickFix" online gestellt. Bitte nochmals kurz testen.

Hallo, Fix ist installiert. Auf den ersten Blick sieht es perfekt aus, danke. Ich schau mir das morgen nochmal an wenn die Solaranlage Werte über 0 liefert.

Brovning commented 4 years ago

Gibt es im Downloadbereich von E3DC ein neueres ModBus-Dokumentation.pdf "Modbus/TCP-Schnittstelle der E3/DC GmbH" als 10.04.2017 v1.6? Da mein Speicher noch nicht installiert ist, habe ich leider für den registrierten Kunden-Bereich noch keinen Zugang...

Wäre super, wenn du mir die neuste Version uploaden könntest: https://github.com/Brovning/e3dc/tree/master/docs

Brovning commented 4 years ago

Hiermit würde ich den Fehler dann schließen.

Brovning commented 4 years ago

Hallo Christian, nachdem der letzte Fix nicht von Erfolg gekrönt war, denke ich, dass ich jetzt eine vernünftige Lösung hätte. Bitte poste mir noch die Ausgabe folgenden Skripts zur Bestätigung: print_r(IPS_GetObject(IPS_GetChildrenIDs(IPS_GetChildrenIDs(IPS_GetInstanceListByModuleID("{C9508720-B23D-B37A-B5C2-97B607221CE1}")[0])[0])[0]));

cfis72 commented 4 years ago

Hallo Christian, nachdem der letzte Fix nicht von Erfolg gekrönt war, denke ich, dass ich jetzt eine vernünftige Lösung hätte. Bitte poste mir noch die Ausgabe folgenden Skripts zur Bestätigung: print_r(IPS_GetObject(IPS_GetChildrenIDs(IPS_GetChildrenIDs(IPS_GetInstanceListByModuleID("{C9508720-B23D-B37A-B5C2-97B607221CE1}")[0])[0])[0]));

gerne, hier die Ausgabe des Skripts: Array ( [ParentID] => 26003 [ObjectID] => 48752 [ObjectType] => 2 [ObjectIdent] => [ObjectName] => Ladesperrzeit [ObjectInfo] => Bit 5: 1 = Ladesperrzeit aktiv: Den Zeitraum für die Ladesperrzeit geben Sie in der Funktion SmartCharge ein.; 0 = keine Ladesperrzeit R [ObjectIcon] => [ObjectSummary] => [ObjectPosition] => 0 [ObjectIsReadOnly] => [ObjectIsHidden] => [ObjectIsDisabled] => [ObjectIsLocked] => [HasChildren] => [ChildrenIDs] => Array ( )

)

cfis72 commented 4 years ago

Nachdem ich gestern ein Update gemacht habe habe ich jetzt ein rotes Ausrufezeichen bei der Instanz. Wenn man draufklickt kommt diese Meldung:

image

Muss ich die Instanz nochmal löschen und neu anlegen. Funktionieren tut sonst noch alles.

Brovning commented 4 years ago

Hallo,

ja, bitte update das Modul nochmals, sofern du noch nicht v0.3 installiert hast und erstelle die Instanz neu. Diese Version habe ich gestern Abend veröffentlicht. Die v0.3 habe ich nun auch für die Stable-Line eingereicht. Ohne Neuinstallation der Instanz kannst du vermutlich auch nicht die neuen E3DC_Get...() Funktionen nutzen.

Könntest du mir diesen Output bitte noch posten: print_r(IPS_GetObject(IPS_GetChildrenIDs(IPS_GetInstanceIDByName("Batterie-Leistung", IPS_GetInstanceListByModuleID("{C9508720-B23D-B37A-B5C2-97B607221CE1}")[0]))[0]));

cfis72 commented 4 years ago

Könntest du mir diesen Output bitte noch posten: print_r(IPS_GetObject(IPS_GetChildrenIDs(IPS_GetInstanceIDByName("Batterie-Leistung", IPS_GetInstanceListByModuleID("{C9508720-B23D-B37A-B5C2-97B607221CE1}")[0]))[0]));

Hier die Ausgabe: Array ( [ParentID] => 26001 [ObjectID] => 26886 [ObjectType] => 2 [ObjectIdent] => Value [ObjectName] => Wert [ObjectInfo] => [ObjectIcon] => [ObjectSummary] => [ObjectPosition] => 1 [ObjectIsReadOnly] => 1 [ObjectIsHidden] => [ObjectIsDisabled] => [ObjectIsLocked] => [HasChildren] => [ChildrenIDs] => Array ( )

)

cfis72 commented 4 years ago

Nach der erneuten Installation ist der Fehler weg. Ich lasse es jetzt wie es ist.

Brovning commented 4 years ago

Vielen Dank für den Output! Jetzt habe ich ein funktionierenden Fix!

Du kannst, sobald die v0.3 auf dem Stable-Kanal freigegeben wurde, auf den Stable-Kanal wechseln, dann nimmst du nicht jedes Beta-Release mit. ;-)

Wenn du Funktionswünsche oder Anregungen für das Modul hast, dann einfach Bescheid geben. Gerne auch per Feature-Request in Github.

Brovning commented 4 years ago

Tipp: Sofern nur eine Instanz des E3DC-Moduls im Einsatz ist, sollte die $InstanzID wie folgt dynamisch ermittelt werden und nicht statisch gesetzt werden, da somit ein Löschen und Neuinstallieren der E3DC-Instanz keine Auswirkung auf andere Skripte hat:

$InstanzID = IPS_GetInstanceListByModuleID("{C9508720-B23D-B37A-B5C2-97B607221CE1}")[0];