[Frage] unpack eines INT32 im gemischten big/little endian Format (ModBus)

Begonnen von HeinzApfel, 31 August 2016, 14:55:29

Vorheriges Thema - Nächstes Thema

HeinzApfel

Hallo liebe FHEM-Freunde,

ich möchte gerne einen Carlo Gavazzi EM24 Energie-Messer über RS485 in FHEM einbinden und orientiere mich an dem SDM630 Modul, welches ich bisher benutzt habe.

Nun zum Problem:
Der EM24 speichert die Werte zwar als INT32 ab. Dabei ist aber das erste und zweite byte eines word in network order (MSB->LSB), die beiden word aber swapped (LSW->MSW).
Sprich es handelt sich weder um little- noch um big-endian, sondern eine Mischung aus beiden.

Frage:
Wie kann ich das mit unpack und evtl. expr abbilden, damit ich erst die beiden word drehe und dann die ganzen 32 Bit als network order (unpack "n") auslese?

Vielen Dank für eure Hilfe,
Heinz

HeinzApfel

Problem gelöst, mit FHEM geht irgendwie alles.
Gerade den Parameter revRegs entdeckt!

Viele Grüße,
Heinz

archinaut220379

Hallo Heinz,

komme leider mit der fhem modbus Einbindung des em24 nicht weiter.kannst du mir da einen tip geben.vielen dank.

stefan.apetz

Hallo Heinz Apfel,

ich versuche auch einen EM24 anzubinden, komme aber gar nicht weiter.

Ich habe einen RS485 zu USB Wandler angeschlossen und auf die (vermeintlich) richtigen Werte 9600, 8N1 gesetzt.

Per CAT kann ich auch unleserliche Zeichen aus der Schnittstelle auf die Konsole bringen.

Dann habe ich ser2eth auf dem Rasperrby installiert und übertrage das serielle Signal auf Ethernet. Auf meinem Raspi mit meinem fhem drauf sehe ich beim Auslesen mit telnet auch die gleichen komischen Zeichenfolgen wie auf meinem Ursprungs-Raspi.

Dann habe ich in fhem den MODBUS aktiviert mit

define PWP ModbusAttr 1 30 sma-control:4001 TCP

(mein ser2eth läuft auf Port 4001).

fhem sagt mir dann auch PWP opened

Was muss ich nun machen, um Werte aus dem Gavazzi auszulesen? Ich habe das ganze Internet durchsucht, aber kein so wirkliches HowTo / Anleitung gefunden, wo ich als fhem-Kenner, aber absoluter Modus-Laie etwas mit anfangen kann.

Welche Schritte sind genau notwendig?

Ich wäre total happy über eine Schritt für Schritt Beschreibung (muss nicht ausformuliert sein, das will ich dann gerne später für die große Welt redaktionell aufbereiten und im fhem-Wiki posten).

Hiiilfee, biiiitttttteeeeee  :-[

stefan.apetz

Hallo, hat keiner eine Idee oder die Muße mir zu helfen?

Ich habe das Modul sdm630 genommen und die Adressen teilweise angepasst.

Jetzt kommen teilweise Werte zur Anzeige, aber immer 0, oder Modbus function call Fehlermeldungen.

Was meinte Heinz mit revRegs? Das habe ich nirgends gefunden.

Vielleicht ist das der letzte Schlüssel zum Glück.

Danke für jeden Tipp / jede Unterstützung.