Hallo zusammen,
ich muss entfernte digitale Eingänge auswerten und daraufhin digitale Ausgänge (Relais) schalten. Bevor ich da etwas selbst entwickle, dachte ich, dass das FHEM kann. Die digitalen Ein- / Ausgänge (Lichtschranke, Türöffner, Klingel, usw.) sind entfernt und nicht über Funk oder WLan zu erreichen, allerdings über Kabel (IP). So jetzt meine Fragen:
- Ist ETH484 http://www.robot-electronics.co.uk/eth484-4-x-16a-ethernet-relay.html dafür geeignet?
- Kann FHEM über WEB die Ausgänge vom ETH484 schalten?
- Können die Eingänge des ETH484 über WEB die Informationen an FHEM übertragen. ETH484 soll bei Eingangsänderung eine IP-Adresse aufrufen können.
- Kann man mehrere FHEMs koppeln? Ein andere Alternative wäre vielleicht ein dezentrales TUXRADIO das mit einem zentralen FHEM (z.B. Rapsberry P) kommuniziert.
- Gibt es noch andere Lösungen?
(Im Forum habe ich keine Antworten auf diese Fragen gefunden)
Danke und Gruß
Ich würde dir mit dem Blick auf den Preis eher zu einem Raspberry Pi 3 und diesem Teil hier raten:
https://www.amazon.de/SainSmart-8-Kanäle-RelaisModul-Arduino-Module/dp/B005WR734M/ref=sr_1_2?ie=UTF8&qid=1488225983&sr=8-2&keywords=sainsmart+relais
Dann hast du doppelt so viele Schaltkanäle zu (fast) dem gleichen Preis, FHEM-Kompatibilität (RPI-GPIO-Modul o.ä. gab es, musste mal suchen), falls benötigt WLAN und Bluetooth und du kannst es natürlich entsprechend per FHEM2FHEM mit dem zentralen FHEM verbinden - und gleich noch ein Room-Audio-Node mit einer 7 Euro USB-Soundkarte draus basteln ...
Hi,
das SainSmart-Teil würde ich persönlich nicht für 230V verwenden. Wenn es aber tatsächlich nur um Türöffner etc. geht, dann ok.
Das ETH484 müsste man tatsächlich an FHEM anbinden können. Zum Schalten sollte das Modul HTTPMOD ausreichen. Zum Empfangen der Eingangsänderungen wird man wohl etwas basteln müssen, da man anscheinend nicht konfigurieren kann, was das Teil rausschickt.
Man kan auch mehrere FHEMs koppeln (Modul FHEM2FHEM).
Wenn das Kabel ausschließlich für diese Anwendung genutzt wird, und nicht auch noch andere Netzwerkpakete drüber laufen, und es direct zum FHEM-Server geht, dann könnte man sich auch überlegen, das Kabel zu einem RS485-Bus umzumünzen und Homematic-Wired einsetzen.
Gruß,
Thorsten
Zitat von: Thorsten Pferdekaemper am 28 Februar 2017, 10:44:06
das SainSmart-Teil würde ich persönlich nicht für 230V verwenden.
Hmmm was sollte denn dagegen Sprechen? Die Relais haben ein Rating von 250V/10A ... ich schalte damit seit 2 Jahren 7 Phillips Tornado 65W-Energiesparlampen und eine OSRAM Quecksilberdampflampe mit > 300W ^^... für ein ordentliches Gehäuse musst du natürlich selbst sorgen, das gilt aber auch für die o.g. Platine
Edit: Beweisfotos angehängt - mein "8-Kanal-Flutlicht" mit E27-Fassungen und dem Sainsmart-Controller und nem Raspi vor dem Einbau
Zitat von: peterk_de am 28 Februar 2017, 12:32:04
Hmmm was sollte denn dagegen Sprechen? Die Relais haben ein Rating von 250V/10A ... ich schalte damit seit 2 Jahren 7 Phillips Tornado 65W-Energiesparlampen und eine OSRAM Quecksilberdampflampe mit > 300W ^^... für ein ordentliches Gehäuse musst du natürlich selbst sorgen, das gilt aber auch für die o.g. Platine
Tja, das ist bei Elektrik immer so. Tausendmal berührt...
Ich habe auch so ein 8fach-Teil. Es macht einen total billigen Eindruck. Wahrscheinlich sind auch die Leiterbahnen zu dicht beieinander für 230V. Zumindest raten alle, die sich ein bisschen mit den ganzen Elektriker-Regelungen auskennen von den Teilen ab.
EDIT: Hier mal ein Beitrag zu einem ähnlichen Teil mit 4 Kanal:
http://www.mikrocontroller.net/topic/319355
Gruß,
Thorsten
Hi,
und erst einmal Allen vielen Dank für die Antworten. Jetzt habe ich erst einmal viel zu lesen :)
Ich hatte noch vergessen zu schreiben, dass ich wenig Platz habe weil alles einen vorhandene Niederspannungsverteilerkasten irgendwie hinein muss. Sollte aber gehen.
Ich will dort auch Beleuchtung schalten, da setze ich aber notfalls ein Relais zwischen und dann sollte es auf jeden Fall gehen.
Das SainSmart-8-Kanäle-RelaisModul-Arduino-Modul kommt leider nicht in Frage, da ich damit nicht meine Eingänge Klingel, Lichtschranke und Pfortenkontakt verarbeiten kann.
Danke und Gruß
Klaus
Hi Thorsten,
ich habe jetzt noch gefunden, dass das ETH484 auch bei Eingangsänderung TCP-Pakete senden kann (mit einer ID-Nummer). Leider geht anscheinend nur TCP und kein HTTP, dafür gibt es Beispiel-Scripte auch in Perl. Hier gleich der Auszug. Ich hoffe ist lesbar.
Gruß
Klaus
Mapping inputs to custom devices
Sometimes it is useful to have a message sent on input change without the need for polling, you can use the input
mapping for sending messages to an IP address. The transactions are described below along with an example of the
custom device needing a password of "apple" and setting output number 1 active:
• The ETH484 sends a TCP packet with 0x79 (password entry) in the first byte, then the following bytes will be
the password supplied above.
So it would send 6 bytes: 0x79, 'a','p','p','l','e'
• To acknowledge a password match, respond with 1, else send 2
You reply with 1 byte 0x01
• The ETH484 sends then sends digital active (0x20) or digital inactive (0x21) followed by the output number
So it would send 2 bytes 0x20, 0x01
• Reply with a 0 for success, else send 1
You reply with 1 byte 0x00
Note that the complete sequence must be followed, even if the password fails. If no password is supplied in the input
mapping configuration the sequence will be followed with the absence of ''a','p','p','l','e' bytes.
Hi,
tja, da musst Du Dir halt einen TCP-Server zusammenbasteln, der das kann. So aus dem Kopf kann ich das jetzt auch nicht.
Polling sollte aber gehen, wenn Dir das reicht. Ok, für ein Klingelsignal vielleicht blöd...
Du hattest aber auch gesagt, da gäbe es Beispielcoding. Zeig mal.
Gruß,
Thorsten
Hallo
Ich arbeite mit diesem Reais. Hat 4 relais und 4 Eingänge um 10eur. Dazu noch ein Modbus Usb Dongl um 3eur
Bei der Installation kann ich helfen.
Lg
Wolfgang
http://m.ebay.at/itm/Modbus-RTU-4-Way-Relaismodul-DIY-STM8S103-System-4-Road-Input-485-Communication-/131672597921?nav=SEARCH (http://m.ebay.at/itm/Modbus-RTU-4-Way-Relaismodul-DIY-STM8S103-System-4-Road-Input-485-Communication-/131672597921?nav=SEARCH)
Hi Thorsten,
hier im Anhang das Beispiel Perl-Script.
Gruß
Klaus
Hi,
tja, das zeigt, wie man per TCP liest bzw. die Ausgänge setzt. ...aber nicht, wie man die Änderungen der Eingänge empfängt. Man könnte wie gesagt wohl ein Polling hinbekommen, aber ob Du das willst?
Gruß,
Thorsten
Hi,
ich hab hier einmal die komplette Anleitung angehängt. Also Polling ist nicht wirklich gut, das sollte schon anders gehen.
Aber ich werde mir erst einmal so ein Teil besorgen müssen und dann versuchen damit zu reden (oder das Ding mit mir).
So wie ich die Anleitung verstehe, sollte man über ein WEB-Interface das Teil so konfigurieren können, dass es eine bestimmte IP-Adresse und Port anspricht und eine ID/Kennung sendet. Wenn ich dann auf dieser Adresse und Port lese, also warte, sollte es eigentlich gehen.
Die Relais/Ausgänge zu setzen, sieht einfach aus.
Gruß
Klaus
Hallo Klaus,
hast du das ETH484-Modul mit FHEM in Betrieb genommen?
Wie sind deine Erfahrungen?
Gruß
Zitat von: peterk_de am 28 Februar 2017, 12:32:04
Edit: Beweisfotos angehängt - mein "8-Kanal-Flutlicht" mit E27-Fassungen und dem Sainsmart-Controller und nem Raspi vor dem Einbau
Hossa, leider ein Jahr zu spät gesehen...Beweisfotos vor allem für Deine Versicherung (lass die das bloß nicht sehen...), die Dir nicht einen Cent zahlt, wenn Du mit dieser haarsträubenden Konstruktion Deine Hütte abfackelst.
Bau das aus und frag einen Fachmann.
Gruß
Uwe
Zitat von: wthiess am 28 Februar 2017, 23:22:09
Hallo
Ich arbeite mit diesem Reais. Hat 4 relais und 4 Eingänge um 10eur. Dazu noch ein Modbus Usb Dongl um 3eur
Bei der Installation kann ich helfen.
Lg
Wolfgang
http://m.ebay.at/itm/Modbus-RTU-4-Way-Relaismodul-DIY-STM8S103-System-4-Road-Input-485-Communication-/131672597921?nav=SEARCH (http://m.ebay.at/itm/Modbus-RTU-4-Way-Relaismodul-DIY-STM8S103-System-4-Road-Input-485-Communication-/131672597921?nav=SEARCH)
Hallo Wolfgang,
ich bin erst heute auf Deinen Post gestoßen. Kannst Du mir kurz beschreiben, wie Du die Relaiskarte verwendest und wie Du mit FHEM die Relais steuerst, bzw. wie Du die Eingänge abfragst ?
Vielen Dank und viele Grüße
Kristian
Hallo Kristian!
Relais:
https://de.aliexpress.com/item/Modbus-RTU-4-Way-Relay-Module-DIY-STM8S103-System-4-Road-Input-485-Communication/32704810964.html?spm=a2g0x.search0104.3.93.78807b50qkNYtu&ws_ab_test=searchweb0_0,searchweb201602_2_10152_10151_10065_10344_10068_10342_10547_10343_10340_10548_10341_10697_10696_10084_5722520_10083_10618_10304_10307_10302_10059_5722620_5722920_10534_308_5722720_5722820_100031_10103_441_10624_10623_10622_10621_10620,searchweb201603_25,ppcSwitch_5&algo_expid=5bb7d537-2011-411c-b69d-2ae2350eca65-13&algo_pvid=5bb7d537-2011-411c-b69d-2ae2350eca65&transAbTest=ae803_2&priceBeautifyAB=0 (https://de.aliexpress.com/item/Modbus-RTU-4-Way-Relay-Module-DIY-STM8S103-System-4-Road-Input-485-Communication/32704810964.html?spm=a2g0x.search0104.3.93.78807b50qkNYtu&ws_ab_test=searchweb0_0,searchweb201602_2_10152_10151_10065_10344_10068_10342_10547_10343_10340_10548_10341_10697_10696_10084_5722520_10083_10618_10304_10307_10302_10059_5722620_5722920_10534_308_5722720_5722820_100031_10103_441_10624_10623_10622_10621_10620,searchweb201603_25,ppcSwitch_5&algo_expid=5bb7d537-2011-411c-b69d-2ae2350eca65-13&algo_pvid=5bb7d537-2011-411c-b69d-2ae2350eca65&transAbTest=ae803_2&priceBeautifyAB=0)
und USB Stick:
https://de.aliexpress.com/item/Free-Shipping-USB-to-RS485-485-Converter-Adapter-Support-Win7-XP-Vista-Linux-Mac-OS-WinCE5/32584079006.html?spm=a2g0s.9042311.0.0.nrztTN (https://de.aliexpress.com/item/Free-Shipping-USB-to-RS485-485-Converter-Adapter-Support-Win7-XP-Vista-Linux-Mac-OS-WinCE5/32584079006.html?spm=a2g0s.9042311.0.0.nrztTN)
Verkabelung
A --- A
B --- B
Bei längerer Leitung Widerstand 120Ohm zwischen A und B an beiden enden schalten. Zum test 0,5Meter keinen Widerstand.
#Relais
define RelaisUSB Modbus /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@9600,8,N,1
define R1 ModbusAttr 1 30
attr R1 IODev RelaisUSB
attr R1 dev-c-brokenFC5 1
attr R1 dev-c-combine 5
attr R1 dev-c-defPoll 1
attr R1 obj-c1-hint 0,1
attr R1 obj-c1-reading Relais1
attr R1 obj-c1-set 1
attr R1 room Relais
attr R1 stateFormat Relais1
attr R1 webCmd Relais1
define R2 ModbusAttr 1 30
attr R2 IODev RelaisUSB
attr R2 dev-c-brokenFC5 1
attr R2 dev-c-combine 5
attr R2 dev-c-defPoll 1
attr R2 obj-c2-hint 0,1
attr R2 obj-c2-reading Relais2
attr R2 obj-c2-set 1
attr R2 room Relais
attr R2 stateFormat Relais2
attr R2 webCmd Relais2
define R3 ModbusAttr 1 30
attr R3 IODev RelaisUSB
attr R3 dev-c-brokenFC5 1
attr R3 dev-c-combine 5
attr R3 dev-c-defPoll 1
attr R3 obj-c3-hint 0,1
attr R3 obj-c3-reading Relais3
attr R3 obj-c3-set 1
attr R3 room Relais
attr R3 stateFormat Relais3
attr R3 webCmd Relais3
define R4 ModbusAttr 1 30
attr R4 IODev RelaisUSB
attr R4 dev-c-brokenFC5 1
attr R4 dev-c-combine 5
attr R4 dev-c-defPoll 1
attr R4 obj-c4-hint 0,1
attr R4 obj-c4-reading Relais4
attr R4 obj-c4-set 1
attr R4 room Relais
attr R4 stateFormat Relais4
attr R4 webCmd Relais4
#Lesen der Digitaleingänge
define Digi1 ModbusAttr 1 2
attr Digi1 IODev RelaisUSB
attr Digi1 dev-d-combine 5
attr Digi1 dev-d-defPoll 1
attr Digi1 obj-d1-reading D1
attr Digi1 obj-d2-reading D2
attr Digi1 obj-d3-reading D3
attr Digi1 obj-d4-reading D4
attr Digi1 room Relais
attr Digi1 stateFormat D1 D2 D3 D4
lg
Wolfgang
Hallo Wolfgang,
vielen lieben Dank.
Hast Du es schon geschafft zwei oder mehr module anzuschließen (am gleichen Bus) ? Wenn ja, wie hast Du bei der Platine die Addresse geändert ?
Wenn Du Informationen zu Elektrotechnik, Windows & Powershell oder allgemeine Netzwerkinfos benötigst, dann freue ich mich wenn Du Dich bei mir meldest.
Selbstverständlich gilt das für alle anderen auch :-).
D A N K E !!!
Viele Grüße
Kristian
Hallo Kristian
Ja geht. 32max. Die id stellt man per id 0 ein.
Habe ich unter Windows gemacht. Mit irgend einem Modbustool. Ist schon lange her.
Hab die Dinge nicht hier. Erst wieder im Sommer.
Lg
Wolfgang
Hallo Wolfgang,
Danke noch mals :-).
Also. Ich habe die gleiche Relaiskarte wie Du (2 Stück). Allerdings habe ich einen anderen USB <-> RS485 Adapter, siehe hier :http://www.ebay.de/itm/142644724316
Vom Prinzip her sollte das ja funktionieren.
Was ich allerdings noch nciht hinbekommen habe, ist eine Verbindung von FHEM zum USB-Device. Ich verwende ein Debian Linux auf dem FHEM läuft. An der Maschine steckt auch der USB Adapter (/dev/ttyUSB0). Ich bin leider in Linux noch etwas unbeholfen.
Laut Deines Konfig-Auszuges verwendest Du <<<define RelaisUSB Modbus /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@9600,8,N,1>>>>
Ich hatte es mit define RelaisUSB Modbus /dev/ttyUSB0@9600 versucht (allerdings auch mit ,8,N,1).
Jedoch bisher ohne Erfolg.
Warum nimmst Du nicht ttyUSBx ?
Und wenn Du irgendwann mal noch ein Howto zum ändern der Adresse findest, würde ich mich auch freuen, wenn DU an mich denken würdest ;-).
Würde mich freuen wieder von Dir zu hören.
Vielen Dank und viele Grüße
Kristian
Hallo Kristian!
Ich habe die Relaiskarten nicht bei mir. Als ich sie bekommen habe habe ich sie gleich durchprogrammiert. Lange her. Wenn ich wieder auf die Baustelle komme schau ich mal. Lade dir den Modbusscanner runter und befass dich mit dem Thema.
Im Forum: https://forum.fhem.de/index.php/topic,25315.0.html (https://forum.fhem.de/index.php/topic,25315.0.html) gibt es auch viel zu lesen. Hier hat mir Stefan sehr geholfen.
Das verwendet man nicht so: /dev/ttyUSB0@9600 weil wenn sich an den USB was ändert kommt alles durcheinander. Allerdings bei meiner Methode "By ID" muss jeder Stick eine eindeutige Nummer haben. Wenn du nur einen hast is wurscht. Deshalb kaufe ich keine billigen Sticks. Meine Arduinos sind auch immer ie besseren mir ordentlichen chip. "nicht CH340".
Ich arbeite nur mehr mit denen.
https://www.amazon.de/gp/product/B00I9H5J02/ref=oh_aui_detailpage_o07_s00?ie=UTF8&psc=1 (https://www.amazon.de/gp/product/B00I9H5J02/ref=oh_aui_detailpage_o07_s00?ie=UTF8&psc=1)
Hier gibt es keine Probleme.
lg
wolfgang
Hallo Wolfgang,
leider konnte ich erst heute schreiben.
Ich werde das versuchen.
Vielen Dank für Deine Hilfe.
Viele Grüße
Kristian
Hallo Wolfgang,
ich hab mir mal die Teile besorgt und zusammen geklemmt. Die Eingänge funktionieren mit deiner Konfiguration. Das bedeutet schon mal , das die Infrastruktur funktioniert.
Frage:
Ist es normal, das die LED über dem Modbus wie wild blinkert?
Was mache ich falsch, warum sich die Relais nicht schalten lassen?
(im log kommt auch immer: 2018-06-22 09:16:14 ModbusAttr R1 Relais1: 0 egal ob ich 1 oder 0 sende...)
Ich wäre auch interessiert, mehrere so Platinchen in den Bus zu hängen...
Wie läßt sich die Baudrate verändern, mei restlicher Modbus läuft 38400...
Ja, fragen über Fragen. Danke
zeig deine config.
9600 sind fix
lg
wolfgang
Ich würde "entfernt" einen Raspberry Pi 3 mit DoorPi und PiFace digital installieren. https://wiki.fhem.de/wiki/DoorPi_und_FHEM
LG
pah
@pah
wäre mir zu kompliziert und zu teuer für ein paar Schaltvorgänge.
Aber es gibt wie immer versch. Methoden.
lg
Wolfgang
Wer sagt denn, dass da die komplette Mimik gebraucht wird ? RPi3 und PiFace zusammen ca. 60 €.
LG
pah
@wthies:
#Relais
define RelaisUSB Modbus /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@9600,8,N,1
define R1 ModbusAttr 1 30
attr R1 userattr IODev dev-c-brokenFC5 dev-c-combine dev-c-defPoll obj-c1-hint obj-c1-reading obj-c1-set stateFormat webCmd
attr R1 IODev RelaisUSB
attr R1 dev-c-brokenFC5 1
attr R1 dev-c-combine 5
attr R1 dev-c-defPoll 1
attr R1 obj-c1-hint 0,1
attr R1 obj-c1-reading Relais1
attr R1 obj-c1-set 1
attr R1 room Relais
attr R1 stateFormat Relais1
attr R1 webCmd Relais1
define R2 ModbusAttr 1 30
attr R2 userattr IODev dev-c-brokenFC5 dev-c-combine dev-c-defPoll obj-c2-hint obj-c2-reading obj-c2-set stateFormat webCmd
attr R2 IODev RelaisUSB
attr R2 dev-c-brokenFC5 1
attr R2 dev-c-combine 5
attr R2 dev-c-defPoll 1
attr R2 obj-c2-hint 0,1
attr R2 obj-c2-reading Relais2
attr R2 obj-c2-set 1
attr R2 room Relais
attr R2 stateFormat Relais2
attr R2 webCmd Relais2
define R3 ModbusAttr 1 30
attr R3 userattr IODev dev-c-brokenFC5 dev-c-combine dev-c-defPoll obj-c3-hint obj-c3-reading obj-c3-set stateFormat webCmd
attr R3 IODev RelaisUSB
attr R3 dev-c-brokenFC5 1
attr R3 dev-c-combine 5
attr R3 dev-c-defPoll 1
attr R3 obj-c3-hint 0,1
attr R3 obj-c3-reading Relais3
attr R3 obj-c3-set 1
attr R3 room Relais
attr R3 stateFormat Relais3
attr R3 webCmd Relais3
define R4 ModbusAttr 1 30
attr R4 userattr IODev dev-c-brokenFC5 dev-c-combine dev-c-defPoll obj-c4-hint obj-c4-reading obj-c4-set stateFormat webCmd
attr R4 IODev RelaisUSB
attr R4 dev-c-brokenFC5 1
attr R4 dev-c-combine 5
attr R4 dev-c-defPoll 1
attr R4 obj-c4-hint 0,1
attr R4 obj-c4-reading Relais4
attr R4 obj-c4-set 1
attr R4 room Relais
attr R4 stateFormat Relais4
attr R4 webCmd Relais4
#Lesen der Digitaleingänge
define Digi1 ModbusAttr 1 2
attr Digi1 userattr IODev dev-d-combine dev-d-defPoll obj-d1-reading obj-d2-reading obj-d3-reading obj-d4-reading stateFormat
attr Digi1 IODev RelaisUSB
attr Digi1 dev-d-combine 5
attr Digi1 dev-d-defPoll 1
attr Digi1 obj-d1-reading D1
attr Digi1 obj-d2-reading D2
attr Digi1 obj-d3-reading D3
attr Digi1 obj-d4-reading D4
attr Digi1 room Relais
attr Digi1 stateFormat D1 D2 D3 D4
Gibt es unter Windows was womit man direkt drauf kommt? z.B. zum die ID umstelllen.
nimm mal
attr R1 dev-c-brokenFC5 1
raus.
Das hab ich glaub ich für ein Thermostat benötigt.
hier mal meine aktuelle Gartenbewässerung:
#Gartenbewässerung
define R2 ModbusAttr 3 60
attr R2 userattr IODev dev-c-combine dev-c-defPoll event-on-change-reading obj-c2-hint obj-c2-reading obj-c2-set stateFormat webCmd
attr R2 IODev Zaehler
attr R2 alias Beet
attr R2 dev-c-combine 5
attr R2 dev-c-defPoll 1
attr R2 event-on-change-reading .*
attr R2 group Bewässerung
attr R2 obj-c2-hint 0,1
attr R2 obj-c2-reading Relais2
attr R2 obj-c2-set 1
attr R2 room Aussenbereich,Garten
attr R2 stateFormat Relais2
attr R2 webCmd Relais2
Unter Windows hab ich die 30Tage Version verwendet von
http://www.modbustools.com/download.html (http://www.modbustools.com/download.html)
Modbus Poll
oder
http://store.chipkin.com/products/tools/cas-modbus-scanner (http://store.chipkin.com/products/tools/cas-modbus-scanner)
lg
Wolfgang