NEWS
MODBUS - wie CSV importieren
-
@leonundjulie sagte in MODBUS - wie CSV importieren:
I can't find an IMPORT button to import
Klick ---
-
@glasfaser DANKE.
Jetzt muss ich "nur" noch die CSV Datei vom SMARTFOX ist TSV konvertieren ... mich dabei an die richtige Spaltenreihenfolge halten
Das soll laut Modbus "_address name description unit type len factor offset formula role room poll wp cw isScale"
Dies ist die Datei von SMARTFOX .. die in CSV zu konvertieren respektive TSV kovertiert werden muss - man gönnt sich ja sonst nichts
Modbus-Register-SMARTFOX-Pro-SMARTFOX-Pro-2-v22e-00.01.03.10.xlsx -
@leonundjulie sagte in MODBUS - wie CSV importieren:
Dies ist die Datei von SMARTFOX .. die in CSV zu konvertieren
kannst du damit etwas anfangen :
-
@glasfaser danke. Letztlich habe ich es hinebkommen ... werde dies hier dokumentieren, wenn die Thematik läuft.
Die Verbindung steht:
Demnach ist die Verbindung wohl aktiv, aber ich bekomme keine Daten aus meinem Smartfox PRO.
Die Einstellungen (Und es ist egal, ob "Allias benutzen auf ja oder nein steht"):
Warum kommen bei mir keine Werte? Kann ich irgendwie einen Debug-Mode aktivieren um zu sehen, ob da überhaupt was vom Samrtfox kommt? Ob da alle 1000ms ein Request an den Smartfox gesendet wird? -
@leonundjulie Auf die Schnelle geantwortet: Mach mal bei Abfrage einen Haken rein.
-
@leonundjulie : hilft nicht
führt zu
Ich habe zwischenzeitlich mal mittels anderem Tool den Smartfox auszulesen - und siehe da es geht: Dabei habe ich den "Function Code" einstellen müssen ... davon habe ich hier im Form noch nichts gelesen ... es aber vielleicht einfach übersehen.
-
@leonundjulie Die Aliase sind aus?
-
@leonundjulie Versuch es am Besten auch ersmal nur mit einem Register und teste ggf. ob es eine Adressverschiebung gibt.
-
@leonundjulie Ansonsten auch mal probieren, ob es nicht doch RTU over TCP ist(Ist allerdings auch ein anderes Gerät). Meine Einstellung sieht so aus:
-
@radi danke für die Vorschläge. Ich habe jetzt nochmals alles hin und her probiert und auch nur noch ein Register definiert. es will einfach nicht
-
@leonundjulie Du wirst doch nicht so schnell aufgeben?!
Die Adressen hast du im Reiter Holding Register eingetragen? Das ist der Funktionscode den du beim Qmod eintragen musstest. Das hast du leider bei deinen Screenshots immer abgeschnitten.Wenn du auf RTU umstellst, dann ein wenig warten. Es dauert schon einige Sekunden bis dann Daten kommen, falls dies die richtige Einstellung sein sollte.
-
@radi ich habe nicht aufgegeben und es läuft.
Der erste Fehler: ich hatte beim Importieren der Register "ALLIAS AKTIV" gesetzt. Daduch waren die Register Adressen zwar 4xxxx da, aber nicht so richtig. Also "ALIAS AKYTIV" auf nicht aktiv gesetzt, den Import nochmals neu gemacht und POLL respektive ABFRAGE gesetzt ....
Der zweite Fehler: bei den Registern, die SMARTFOX als RW definiert, darf man keine Abfrage machen.
Damit spiele ich dann später mal weiter
DANKE der Unterstützung aus dem Forum.
Ps: hier noch die von Smartfox zur Verfügung gestellte Registerliste (https://smartfox.de/wp-content/uploads/2022/12/Modbus-Register-SMARTFOX-Pro-SMARTFOX-Pro-2-v22e-00.01.03.10.xlsx) zu 100% ins TSV übersetzt (noch Poll/Abfrage -> muss jeder für sich entsprechend seine Hardware-Konfiguration anpassen).
Und die abschließende Erkenntnis: man muss die von SMARTFOX vorgegebenen Nummern der Register in der Nummerierung um "1" kleiner angeben (verstehe ich zwar nicht, habe ich durch Zufall im Photovoltaik Forum gefunden, nachdem die ausgelesenen Werte alle falsch waren). Hier die angepaaste Bersicht: Smartfox_MODBUS.txt
-
@leonundjulie sagte in MODBUS - wie CSV importieren:
"ALLIAS AKTIV" gesetzt.
dazu:
@radi sagte in MODBUS - wie CSV importieren:
@leonundjulie Die Aliase sind aus?
@leonundjulie sagte in MODBUS - wie CSV importieren:
ABFRAGE gesetzt
bei Holdingregister (40xxx) die eigentlich zum Scheiben gedacht sind ist das notwendig.
@leonundjulie sagte in MODBUS - wie CSV importieren:
bei den Registern, die SMARTFOX als RW definiert, darf mein keine Abfrage machen.
das passt dann nicht!
RW steht doch für ReadWrite, oder? -
-
list item“ALLIAS benutzen” darf nicht gesetzt sein
-
ich denke, das RW = READ-WRITE bedeutet, und zum Steuern der Relais und/oder Modi steht …. Aber soweit bin ich noch nicht.
Ich fürchte im Moment, dass die Registerliste nicht korrekt ist, weil ich anteilig Wertre lese, die nicht stimmen können. Benutzt Ihr die SMARTFOX-Liste 1:1 und operiert Ihr mit Offset von Minus 1?
-
-
@leonundjulie Hallo, wie bereits erwähnt lese ich andere Geräte als den Smartfox per Modbus aus. Bei welchen Registern hast du denn Probleme? Die Register für Spannung, Strom und Leistung sollten als erste Fingerübung herhalten.
Dies sind bei dir alles Holding-register. Also Registernummer(in der .xlsx die Startadresse), Zahlenformat und den Faktor eingestellt und es sollten die ersten plausiblen Werte kommen. -
@radi Hallo. Ich bin jetzt so weit, dass ich die Werte meines SMARTFOX via MODBUS in den iOBroker einlesen kann. Letztlich habe ich im Photovoltaik Forum den Tip gefunden, dass die von SMARTFOX im Downloadbereich zur Verfügung gestellten Nummern der Holdingregister um eins kleiner gewählt werden müssen. Warum … gute Frage, aber schade, dass man diesbezüglich erst lange im Internet suchen muss - gut, dass es auch das Forum gibt.
Aber ein Thema ist noch offen: wie steure ich die Register, mit denen man zum Beispiel ein RELAY aktiviert/deaktiviert?
-
@leonundjulie sagte in MODBUS - wie CSV importieren:
wie steure ich die Register, mit denen man zum Beispiel ein RELAY aktiviert/deaktiviert?
indem du den Wert des Registers entsprechend änderst!?
-
@homoran der Jahreswechsel ist durch und ich habe wieder Zeit zum Spielen . Den Wert eines Registers einfach durch senden eines Wertes zu ändern bedard wohl noch eines Kniffs.
Denn man muss wohl bei den beteroffenden Registern auch noch die Kreuzchen in der richtigen Spalte machen
Denn laut https://github.com/ioBroker/ioBroker.modbus kann ich wählen zwischen
Leider habe ich das erst gerade gesehen, denn auf meinem iPAD wird mir die Spalte WP gar nicht angezeigt (zu kleiner Screen) und deshalb habe ich es gestern Abend bis dato nur mit CW mehr oder minder erfolglos probiert. Soll heißen, dass ich manchmal einen Status ändern könnte ... Betonung liegt auf manchmal - bestenfalls liegt es am Unterschied zwischen CW und WP.
Und es scheint auch noch so zu sein, dass man folgendes setzen muss
denn der Smartfox gibt zum Schreiben vor, dass man beim Schreiben den Function Code HEX 10/DEC16 verwenden soll (ist aber auch noch Spekulation):
Schwere Geburt. Hat jemand Erfahrungen, die er mit in den Ring werfen kann. Irgendwie muss man dem Smartfox aus einer iOBroker VIS (mein Ziel) doch sagen köennen was er zu machen hat
-
@leonundjulie sagte in MODBUS - wie CSV importieren:
Den Wert eines Registers einfach durch senden eines Wertes zu ändern beardf wohl noch eines Kniffs.
nöö!
wie kommst du darauf?Bevor ich auf die restlichen "Spekulationen" eingehe, sag bitte was denn nicht so klappt, wie du es willst.
Was passiert statt dessen? -
@homoran , gern. Ich greife aus den verschiedenen Registern mit Read/write Option mal eines heraus.
Laut Smartfox ist definiert:
Ich habe dieses Register als 41607 übernommen.
Die Web.Oberfläche der Smartfox Software sieht so aus
Es gibt also nicht nur die beiden von Smartfox definierten Statis, sondern auch die an anderer Stelle schon definierten:
- Aus: 3
- A: 0
- A+: 2
- M: 1
Wenn ich den Status via Smartfox-Web-Oberfläche ändere, dann erhalte ich diese Information (0 ... 3) auch im iObroker.
Das wechseln des Status möchte ich aber auch vom iOBroker aus machen, dem Regsiter also den Wert 0 oder 1 oder 2 oder 3 zuweisen. Und genau das funktioniert nicht. Wenn ich den Wert im iOBroker setzte, dann blinkt die gewählte Ziffer 2 oder 3 mal auf und wechselt abschließendn wieder zum vorherigen Stand, im Smartfox passiert gar nichts.
Spontane Spekulation (weil ich ja nicht weis was der MODBUS-Adapter so macht und ich auch noch keine Erklärung dafür gefunden habe, dass man die Register endgegen der Vorgabe von Smartfox alle um -1 kleiner wählen muss): kann es sein, dass ich zum Lesen de Regsiters car charge 1 charge mode das Holdig-Register 41607 und zum Schreiben das Holding-Register 41608 (das von Smartfox defineirte) verwenden muss?