Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Momentan kann ich das leider nicht, verstehe es selbst nicht.
Eventuell kann WagoKlemme etwas dazu sagen, er kann ja mit seinem LBS das E3DC erfolgreich auslesen.
Sorry für die späte Antwort, ich bin zur Zeit viel unterwegs.
Ich habe das Problem vermutlich nicht richtig verstanden, deshalb setze ich hier mal einen Screenshot rein, wie das Byte zerlegt wird:
Ich habe das Problem vermutlich nicht richtig verstanden,
Danke für die Screeenshots.
Es geht darum, das mit dem LBS von saegefisch scheinbar ein offset in den Registeradressen des E3DC nötig ist um die richtigen Werte zu bekommen. Hattest du das Problem auch bei deinem Baustein auch, oder sitzt das Problem in meinem Fall vor dem Bildschirm?
Ich lese einfach 40 Bytes aus, beginnend ab Register 40067. Das 1. Register gibt E3DC beginnend mit 40068 an. D.h. ich muss 1 Byte früher mit dem Lesen beginnen.
da ich hier reiner "Nutznießer" bin und nicht selbst in der Lage, LBSen zu erstellen, möchte ich an dieser Stelle mal DANKE sagen!
Ich habe bis heute den LBS für den SMA-Modbus genutzt, welcher, wie bei einigen anderen auch, zwischendurch mal neu gestartet werden wollte, damit die Werte wieder ausgelesen werden.
Nun habe ich den LBS19001586 installiert (übrigens völlig problemlos) und meine ModBus-Abfrage neu gestrickt. Ein bisschen musste ich herumprobieren, ich hatte hier irgendwie einen Fehler in meinem request... Dann... schwupps.... Alle benötigten Werte da!
Also an dieser Stelle vielen Dank für die Erstellung dieses super LBS. Nächster Einsatzbereich für den LBS wird es sein, SDM230 (bzw. SDM630) über Elfin EE11 abzufragen (hier fehlt mir leider noch das Anschlußkabel, welches ich Trottel nicht mitbestellt habe).
nach anfänglicher Euphorie nun nach rd. 7 Tagen Laufzeit, nun auf erstem Blick wieder der Fehler, welcher auch im SMA-LBS entstanden ist (Leider habe ich diesen Fehler nie wirklich untersucht, daher passt der Vergleich jetzt natürlich nicht).
Den Fehlerlog des LBS kann ich leider nicht öffnen, da ich ihn noch auf 8 stehen hatte und die Einträge zu viel sind (zu wenig Speicher zum Öffnen).
Der LBS liest nun keine Werte mehr aus dem LBS. Das Problem hatten ja einige mit dem alten Baustein analog. Bin ich nun mit dem neuen Baustein der einzige mit dem Problem? Oder lohnt es, hier mal weiter nachzuforschen?
Sobald ich das Projekt einmal neu aktiviert habe, funktioniert die Datenverbindung sofort wieder...
Grundsätzlich sehe ich auch am EE11 und am SDM, dass eine Datenübertragung stattfindet. Aber leider bekomme ich es nicht hin, die Register sauber auszulesen.
Ein Auszug aus der Beschreibung der Register liegt vor:
Register.jpg
Jetzt bin ich mir nicht sicher, ob für mich das rot eingerahmte eine Bedeutung hat. Ich wüsste gerade nicht, wie ich den LBS damit füttern sollte.
ich würde es mit einem einzelnen Register versuchen, bei dem der Zielwert bekannt ist, z.B. Spannung ~230 oder Frequenz ~ 50. Damit ist die Wertprüfung einfacher auf Plausibilität
E6 also z.B. =30071;"Frequenz [Hz]";int16. Wie h1as schrieb, auch Register mal variieren +/-1 oder Offset versuchen. Und auch mal uint16
Kennst Du verlässlich die ID für E7?
E18= 3
Wenn Du etwas zurück bekommst, aber die Werte komisch sind, mal mit dem Endian an E9 spielen.
Ansonsten würde ich erst mal z.B. mit dem qModMaster oder anderer SW einfacher den ersten Zugriff testen und erreichen. Wenn der geht, dann am LBS weiter. Selbst mit der performanten Lösung, dass man mit dem LBS im LiveView Register ändern kann, geht es mit dedizierter SW in Deiner Phase schneller, um überhaupt einen Connect zu erreichen.
Die Id (hier ist ja die ModBus ID des Stromzählers gemeint) stimmt defintiv, das kann ich sicher sagen.
Mit qModMoaster bekomme ich einen connect, wenn ich register abfrage, bekomme ich auch eine Antwort, leider hier ebenfalls "0".
Es gibt es cooles Tool, um die Stromzähler auszulesen: MBMD
Dies habe ich in einem Docker-Container laufen, wenn ich es mit den richtigen Parametern starte, dann liest er mir auch den Zähler korrekt und vollständig aus. Im Notfall wäre das der workaround, mittels MBMD an den mqtt-Broker zu senden und dann die Daten weiter zu verarbeiten. Aber eigentlich würde ich mir diesen Zwischenschritt gerne sparen, die Werte benötige ich halt in Edomi.
Aber der Test mit MBMD gibt mir zumindest die Sicherheit, dass mein Modbus-Gateway und der Zähler an sich korrekt konfiguriert sind. Offenbar hakt es "nur" an den Einstellungen des LBS.
Ich werde mal weiter testen... Wenn ihr noch ne Idee habt, immer her damit! ;-)
Erst mal hakt es am wissen, um mit qmodmaster die Daten auszulesen ungleich 0. wenn du das hast, hast du alles, was du für den LBS brauchst.
dieses MBMD hat irgend ein Wissensvorsprung, den du dir noch erarbeiten musst. Aber am Ende ist es alles Modbus. Spricht das Tool zu dir bezüglich der tatsächlich abgefragten Register? Aber in der Tat gut zu wissen, dass es funktionieren muss/kann. Das ist auf jeden Fall hilfreich.
Ich würde h1as Tipps mal mit dem qmodmaster probieren.
Das freut mich zu hören! Vor allem, dass der LBS offenbar tatsächlich wunderbar divers funktioniert, also sein GENERIC offenbar verdient. Daher bin ich auch sehr dankbar für Deine weiteren Geräte hier...
Dank gebührt auch h1as mit seinen Tipps zu den Registern.
Anhand Deiner Doku vom ersten Post bin ich erstaunt, dass es nun doch E18=4 ist. Aber egal - Hauptsache Daten
Was Du noch probieren könntest, weil es sich vielleicht passender zur Doku anfühlt: An E8 die Register 30000, 30006, 30070 verwenden und ein Offset von E19 = -30000. Damit solltest Du zum selben Ergebnis kommen, aber mit "schöneren" Registern. Oder sind es 40000, 40006, 40070? Dann halt entsprechend E19 = -40000.
Würde mich freuen, wenn Du das noch probieren könntest; zum neuen Offset habe ich noch nicht so viele Rückmeldungen...
Zuletzt geändert von saegefisch; 24.06.2021, 20:57.
irgendwie scheint das nicht zu funktionieren. Wenn ich E19 = -30000 (-40000) einstelle und in E8 entsprechend die Register lt. Doku bekomme ich keine Werte! Irgendetwas passt hier scheinbar nicht!?
erstmal riesen Kompliment zu deinem LBS. Das Ding funktioniert großartig. Ich habe einen Wechselrichter von SMA und eine Batterie von Varta und alle Werte werden problemlos ausgelesen. Vielen Dank also schon mal dafür. 😀
Ein kleines Problem habe ich aber auch und wollte mal schauen, ob du dazu eine Idee hast. Aktuell ist es ja so, dass du es so programmiert hast, dass man auf dem E1 starten und stoppen kann. Ich habe nun ja einen Wechselrichter und eine Batterie, wo ich die Werte per Modbus abfrage und der Baustein immer etwas unterschiedliche lange braucht, um die Anfrage abzuarbeiten. Über den gesamten Tag gesehen, laufen also die beiden LBS immer mehr ganz leicht auseinander. Ich brauche die Werte aber ungefähr zur selben Zeit, damit ich mit den ermittelten Daten auch sinnvolle Werte (wie den Verbrauch) berechnen kann, da ich diese nicht von deinem der Geräte erhalte. Für mich wäre es im ersten Moment am einfachsten, wenn ich einen Impuls auslöse und selbst entscheiden könnte, wann der LBS einmal durchläuft und er danach dann einfach wieder stoppt.
Wie löst ihr sowas oder habt ihr das Problem gar nicht, weil ihr die benötigten Werte alle sauber von einem Gerät bekommt?
Wäre es denkbar, dass ich an E1 einfach nur einen Impuls mit einer 1 sende und dann direkt wieder auf 0 setze? Würde er dann sauber durchlaufen?
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar