FHEM <---> Ethernet (PoE) <--> Arduino

Begonnen von Ekkehard, 28 März 2017, 21:41:20

Vorheriges Thema - Nächstes Thema

Ekkehard

Hallo,

ich habe eine ganze Menge MySensors-Sensoren in Haus und Garten am laufen. Für den erweiterten Garteneinsatz kommt das 2.4 GHz-System an seine Grenzen (Laub, Regen, Hügel, Entfernung).
Daher möchte ich diverse Sensoren/Aktoren gerne kabelgebunden ans FHEM anschließen. Da sowieso Strom benötigt wird, scheint mir ein Ethernetkabel mit PoE am besten geeignet.
Bevor ich jetzt anfange, das Rad zweimal zu erfinden, meine Frage:

Gibt es ein implementiertes Protokoll / Modul / etc. für die Kommunikation zwischen FHEM und Arduino über Ethernet?

Ansonsten würde ich versuchen, den Arduino als WebServer/Client einzurichten und Daten /Befehle per http zu übertragen.
Oder gibt es bessere / einfachere Möglichkeiten?

Pf@nne

Moin,

ich nutze für solche Aufgaben MQTT, das erscheint mir ideal für solche Aufgaben.

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2

Beta-User

MySensors mit RS485 ginge auch. 12V auf 2 weitere Adern.

Gruss, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Kuzl

Oder Firmata glaub ich ist auch dafür geeignet.

Gruß,
kuzl

justme1968

oder wenn der sketch von dir ist KeyValueProtokol

oder statt arduinos gleich 1Wire sensoren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Rince

Wenn du noch etwas Geduld hast (evtl bis heute mittag) zeige ich dir, wie einfach und schnell man auf einem Aduino MQTT ans laufen bekommt, und wie wenig man in seinen Sketchen ändern muss.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Beta-User

Zitat von: justme1968 am 29 März 2017, 08:09:48
oder wenn der sketch von dir ist KeyValueProtokol
Habe das Stichwort KeyValueProtocol mal zu Arduino ins Wiki eingepflegt.

Gibt es irgendwo eine Quelle, wo man sich als Einsteiger über Vor- und Nachteile einlesen kann? Die Commandref dazu ist sehr kurz und die (zugegebenermaßen kurze) Forumssuche hat mir auch keine erhellenden Erkenntnisse gebracht.

Geht KeyValueProtocol nur in eine Richtung (Arduino->FHEM) oder wäre darüber auch ein transparenter Austausch von Infos möglich (wie z.B. bei MySensors, MQTT oder (vermutlich) ESPEasy)?

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

justme1968

KeyValueProtocol geht aktuell nur vom sensor in richtung fhem. es gibt auch nur die beschreibung im modul bzw. in zwei threads.

es ist aber die einfachste lösung von allen wenn dir die beschränkung der richtung nichts ausmacht. du kannst den arduino per usb, per netz direkt oder per netz und udp broadcast an fhem anbinden. im sketch brauchst du nur ein printf mit den readings. alles andere macht fhem komplett automatisch. devices anlegen, readings füllen.

die anderen drei varianten sind bidirektional. panstamps wären das auch.

aber schau dir auch noch mal an was mit 1-wire geht. wenn du kabel legen kannst und willst sollte das einfacher und günstiger sein als ethernet.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Beta-User

Hi Andre,

Danke für die Info. Hättest Du mir einen Beispielsketch, den ich ggf. unbesehen ins Wiki übernehmen könnte, dann würde ich einen neuen (kurzen) Artikel mit Deinen Infos dazu anlegen.

@Ekkehard
MySensors@RS485 wäre ähnlich wie Andre's Vorschlag mit 1-wire, allerdings bräuchtest Du 4 statt 2-3 Strippen (bzw. nur 2, wenn die Sensoren schon lokal mit Strom versorgt sind), dafür müßtest Du nur die Übertragungsart in den vorhandenen Sketchen umstellen (RS485 statt (vermutlich) nRF). Funkoptimierung hast Du ja vermutlich ausgereizt?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Ekkehard

Vielen Dank für Eure zahlreichen Antworten!

Werde mir mal MQTT und RS485 näher anschauen.

RS485 scheint etwas einfacher (und ressourcenschonender) in der Hard- und Software-Implementierung zu sein. Nur die Verbindung des "Garten-Netzes" zum RasPi ist noch nicht ganz geklärt:
* MQTT: PowerLan Adapter in der Gartenlaube
* RS485: Kabel zum Fenster raus (oder LAN/WLAN - 485 Adapter?)




Beta-User

Zitat von: Ekkehard am 29 März 2017, 15:01:25
* RS485: Kabel zum Fenster raus (oder LAN/WLAN - 485 Adapter?)

Noch nicht probiert, aber es sollte kein Problem sein, ein MySensors-RS485-GW auf Basis eines ESP8266 aufzubauen (wobei dann die Frage ist, wieviele Nodes da dranhängen sollen, wenn es nur um eine Node geht, ist z.B. ESPEasy auch keine schlechte Idee; die eine Node ist dann halt ein zusätzliches GW ohne MySensors-Netz dahinter). Alternative: die Verwendung eines "klassischen" MySensors-Repeaters mit einem ordentlichen nRF ;). Oder ein (PoE-) LAN-GW mit angehängem RS485-Netz...

Wobei Du ja auch für den PoE-Arduino ein Kabel legen müßtest?!? Wenn das LAN-Kabel schon da liegt, könntest Du es auch umwidmen, wenn Du es nicht anderweitig brauchst.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors