FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: doemy am 08 August 2017, 19:53:24

Titel: Modbus WAGO->FHEM
Beitrag von: doemy am 08 August 2017, 19:53:24
Guten Abend,

ich bin noch neu in der FHEM-Welt und habe eine Frage zur Modbus-Kommunikation.

Ich möchte FHEM (läuft auf einem Raspberry Pi 3) mit meiner WAGO-PLC über Modbus kommunizieren lassen.
Vom FHEM zu Wago schicken funktioniert, wenn ich in FHEM eine 1 auf Adresse 12288 setze, kommt es in der Wago an.

Aber andersherum, die Wago setzt z.B. Adresse 12300 auf 1, weiß ich nicht, welchen Befehl ich verwenden muss, um die Modbus-Adresse auszulesen und z.B. ein Dummy-Licht auf on zu setzen o.ä.

Ich habe leider nichts für meinen Fall im Forum gefunden.
Vielleicht kann mir von euch jemand helfen.



Vielen Dank im Voraus.

Grüße doemy
Titel: Antw:Modbus WAGO->FHEM
Beitrag von: ChrisD am 08 August 2017, 21:25:23
Hallo,

Hier gibt einen Thread der sich mit der Anbindung von Wago an FHEM beschäftigt:

https://forum.fhem.de/index.php/topic,12655.0.html (https://forum.fhem.de/index.php/topic,12655.0.html)

Dort findest du auch Module (36_ModbusTCPServer, 37_ModbusRegister und 37_ModbusCoil) mit denen du direkt auf den I/O- und Merkerbereich der Steuerung zugreifen kannst ohne dich um die Modbusadresen kümmern zu müssen.

Grüße,

ChrisD
Titel: Antw:Modbus WAGO->FHEM
Beitrag von: doemy am 08 August 2017, 22:16:15
Hallo,

danke für deine Antwort.
Inzwischen habe ich raus gefunden, wie ich die Modbus-Adressen lesen kann.

Jetzt weißich aber nicht, wie ich das Signal weiterverarbeiten kann.
Unten aufgeführter Code funktioniert nicht. Der zustand in der Variable "Modbus_Zustand"ändert sich zwischen 0 und 1.
Modbus_aus {if (Value("Modbus_Zustand") = 1) {set Wohnzimmerlicht off}}
Titel: Antw:Modbus WAGO->FHEM
Beitrag von: ChrisD am 08 August 2017, 22:54:50
Hallo,

Versuche das = durch == zu ersetzen.

Grüße,

ChrisD
Titel: Antw:Modbus WAGO->FHEM
Beitrag von: doemy am 09 August 2017, 16:54:09
Hallo,

das funktioniert leider auch nicht  :-\

Gruß doemy
Titel: Antw:Modbus WAGO->FHEM
Beitrag von: doemy am 09 August 2017, 17:38:13
Habe es rausgefunden, der Befehl lautet

Modbus_aus { if (Value("Modbus_Zustand") == 1 ) {fhem 'set Wohnzimmerlicht off'}}

:D

Danke für die Hilfestellungen.