Selbstbau-Sensoren im Smart Home mit FHEM nutzen: ein Guide für Einsteiger

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Verglichen mit anderen Consumer-Technologien kann ein Smart Home durch den Kauf neuer Geräte recht schnell zur teuren Angelegenheit werden. Gut, dass durch die offene Lösung FHEM ein Best-of-Breed-Ansatz existiert, mit dem sich Komponenten verschiedener Systeme reibungslos kombinieren lassen. Somit kann beispielsweise ein aus HomeMatic bestehendes „Kernsystem“ mit Sensoren und Aktoren anderer Hersteller nachgerüstet werden, die nicht nur günstiger, sondern je nach Einsatzzweck auch noch besser geeignet sind.

Eine sehr interessante Alternative kann dabei gerade auch der Selbstbau von Sensoren mittels Arduino sein (siehe unsere Howto-Serie: Arduino im Smart Home). Vor allem für Anfänger ist diese Technologie jedoch schwer zu implementieren und gerade was die softwareseitige Anbindung an FHEM angeht, oftmals auch zu komplex. In diesem Howto-Artikel wird daher Schritt für Schritt eine Alternative gezeigt, die es auch Einsteigern erlaubt Selbstbau-Sensoren per Arduino an FHEM anzubinden.

Grundprinzip Arduino in einfachen Worten erklärt

Der Arduino ist ein kleiner Computer, der je nach Modell ab etwa 10 EUR zu haben ist (Experten mögen mir die stark vereinfachte Ausdrucksweise zu Zwecken der Verständlichkeit bitte verzeihen). Er besitzt diverse Ein- und Ausgänge, an denen sowohl Smart-Home-Sensoren, als auch -Aktoren angeschlossen werden können. Der Preis für die meisten Arduino-Sensoren, die man auch aus kommerziellen Smart-Home-Systemen kennt (z.B. Bewegungsmelder, Helligkeitssensor, Temperatur- /Luftfeuchtigkeitssensor, etc.), liegt dabei zwischen dem Cent- und einstelligem Euro-Bereich. In diesem Howto geht es vor allem um Sensoren, von deren Art ein Arduino zweierlei nutzen kann:

  • digitale Sensoren: liefern 0 oder 1 als „Messergebnis“ (z.B. Bewegungsmelder: „an“ oder „aus“)
  • analoge Sensoren: liefern einen Wert aus einem Wertebereich von x bis y als „Messergebnis“ (z.B. Temperaturmessung: „21,2 Grad“ oder „23,7 Grad“ etc.)

Affiliate-Links

[easyazon_image align=“none“ height=“120″ identifier=“B00PL71326″ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/51bqqVaHMQL._SX522_.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>[easyazon_image align=“none“ height=“120″ identifier=“B00PL70ZVG“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/51m5sGNN60L._SX522_.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>[easyazon_image align=“none“ height=“120″ identifier=“B00LSJWRXU“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/61kAs4u7lSL._SX522_.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>[easyazon_image align=“none“ height=“120″ identifier=“B00QFDRPZY“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/71BKqzGjefL._SX522_.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>

Ein Arduino hat außerdem eine USB-Schnittstelle, mit deren Hilfe man über einen angeschlossenen Mac oder PC kleine Programme schreiben kann, um dem Arduino darüber zu informieren, welche Art von Sensoren z.B. an welchem Eingang angeschlossen wurden und was der Arduino mit den erhaltenen Messwerten jetzt eigentlich anfangen soll.

Bewegungsmelder

Hier wird die Thematik allerdings für viele Einsteiger uninteressant, weil man die Programme mit der Arduino IDE Software selbst schreiben muss. Dieses Howto zeigt jedoch eine alternative, programmierfreie Lösung!

Welche Hardware wird benötigt?

Arduinos oder Nachbauten (werden auch „Clones“ genannt) gibt es in verschiedenen Ausführungen, die sich z.B. in der Anzahl von Ein- und Ausgängen (Ports), der Baugröße und dem Speicher unterscheiden. Sie heißen beispielsweise „Arduino Nano“, „Arduino Uno“ oder „Arduino Mega“.

Damit ein Arduino auch mit seiner Umwelt kommunizieren kann, wird zusätzlich ein LAN-Anschluss benötigt. Bei Arduino wird das nötige Bauteil dafür „Ethernet Shield“ genannt und kann bei einem „Mega“ beispielsweise einfach auf den Arduino aufgesteckt werden.

Arduino mit Ethernetshield

Schließlich werden noch Sensoren benötigt, die man im Smart Home betreiben möchte. Im hier gezeigten Howto wird ein Bodenfeuchtesensor zur Ermittlung der Feuchtigkeit von Blumenerde verwendet.

Wer in die Welt des Arduinos einsteigen möchte, sollte sich ein „Starter-Paket“ zulegen. Ich persönlich habe zu Beginn auf das Funduino Starterset „Mega 8“ (Affiliate-Link) zurückgegriffen, weil das Modell „Mega“ die größte Anzahl an Ports hat und sich zum experimentieren hervorragend eignet und auch alle weiteren Kleinteile (wie die genannten Sensoren, Steckverbinder, USB-Kabel und der Gleichen) bereits beinhaltet. Ein Ethernet-Shield wird hier allerdings trotzdem zusätzlich benötigt.

Affiliate-Links

[easyazon_image align=“none“ height=“160″ identifier=“B00P0UMEE0″ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/81NEGOClrfL._SX522_-3.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>[easyazon_image align=“none“ height=“160″ identifier=“B00PL70PA2″ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/71mMt27rcvL._SX522_.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>[easyazon_image align=“none“ height=“160″ identifier=“B00QIKJKQG“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/510T3HTj3BL.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>

Programmieren überflüssig: Arduino mit Configurable Firmata

Mit „Configurable Firmata“ gibt es eine Softwarelösung, die das Programmieren in der Arudino IDE Software überflüssig macht. Die vorgefertigte Firmware wird heruntergeladen und auf den Arduino übertragen. Danach kann jeder einzelne Port des Arduino, der per LAN mit dem Heimnetzwerk verbunden wird, in FHEM genutzt werden, um Sensorwerte aus daran angeschlossenen Sensoren abzufragen, ohne dies vorab in der Arduino-Programmierumgebung festzulegen.

Im Fhemwiki ist das Vorgehen zur Installation von Firmata auf einem Arduino (technisch) gut beschrieben. Nachfolgend ist der dort erläuterte Ablauf noch einmal Schritt für Schritt für Einsteiger aufgeführt.

  1. Arduino IDE herunterladen und installieren: Download bei Arduino.cc
  2. Firmware „Configurable Firmata“ (Zip-Datei) herunterladen: Download aus dem Github
  3. Configurable Firmata entpacken und den Paketinhalt in folgenden Ordner verschieben. Wenn der Ordner „Firmata“ bereits vorhanden ist, diesen vorher entfernen.
    – Mac:

    /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/Firmata

    – Windows:

    /Program\ Files/arduino-1.5.x/hardware/arduino/avr/libraries/Firmata
  4. Arduino IDE öffnen und Configurable Firmata öffnen. Auf einem Mac wird dies mit folgendem „Klickpfad“ umgesetzt: „Datei“ -> „Beispiele“ -> „Firmata“ -> „Configurable Firmata“
    Arduino IDE Customizable Firmata
  5. Netzwerkeinstellungen der Customizable Firmata Firmware anpassen (zu finden etwa auf Höhe der Zeilen 40/41 UND 62-76)
    Configurable Firmata Netzwerkeinstellungen
    Hierzu den folgenden Code entweder einfügen oder entsprechend abändern.
    Einerseits müssen die auskommentierten „inlcudes“ von Ethernet und SPI „aktiviert“ werden (Zeile 40/41).

    #include <SPI.h>
    #include <Ethernet.h>

    Ferner muss individuell der Eintrag hinter „define remote_ip IPAddress“ angepasst werden, hinter der sich die IP-Adresse des FHEM-Servers (in diesem Howto wird FHEM als Smart Home Server genutzt; mehr Infos siehe weiter unten) befindet (hier: 192.168.178.68).

    /*==============================================================================
     * Network configuration for Network Firmata
     *============================================================================*/
    #define NETWORK_FIRMATA
    //replace with ip of server you want to connect to, comment out if using 'remote_host'
    #define remote_ip IPAddress(192,168,178,68)
    //replace with hostname of server you want to connect to, comment out if using 'remote_ip'
    //#define remote_host "server.local"
    //replace with the port that your server is listening on
    #define remote_port 3030
    //replace with arduinos ip-address. Comment out if Ethernet-startup should use dhcp. Is ignored on Yun
    //#define local_ip IPAddress(192,168,178,99)
    //replace with ethernet shield mac. It's mandatory every device is assigned a unique mac. Is ignored on Yun
    const byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
    #endif
  6. Platine auswählen: Bevor die Firmware „Firmata“ auf den Arduino übertragen wird, wird dieser nun per USB mit dem Rechner verbunden, sodass im Folgenden die passende Platine ausgewählt werden kann. Auf einem Mac geht das über: „Werkzeuge“ -> „Platine“ -> „Arduino Mega oder Mega 2560“ (als Beispiel für die Nutzung eines Arduino Mega). Wer z.B. einen „UNO“ verwendet, wählt hier das entsprechende Pendant.
  7. Port wählen: Als letzter Schritt vor der Übertragung muss noch der richtige Port ausgewählt werden: „Werkzeuge“ -> „Port“ -> Entsprechenden Arduino auswählen.
  8. Nur für Arduino Mega 2560: Wer einen Mega 2560 verwendet, muss eine weitere Passage im Code der Customizable Firmata abändern, da bei diesem Modell einzelne Ports anders genutzt werden. Die betroffene Passagen ist bereits durch die Entwickler mit Kommentaren versehen (Zeilen 252-277). Für die Änderungen einfach den nachfolgenden Code unten komplett kopieren und als Ersatz für den „Original“-Code einfügen.
     // Network Firmata communicates with Ethernet-shields over SPI. Therefor all
     // SPI-pins must be set to IGNORE. Otherwise Firmata would break SPI-communication.
     // add Pin 10 and configure pin 53 as output if using a MEGA with Ethernetshield.
     // No need to ignore pin 10 on MEGA with ENC28J60, as here pin 53 should be connected to SS:
    #ifdef NETWORK_FIRMATA
     // ignore SPI and pin 4 that is SS for SD-Card on Ethernet-shield
     for (byte i = 0; i < TOTAL_PINS; i++) {
     if (IS_PIN_SPI(i)
     || 4 == i
     || 10 == i //explicitly ignore pin 10 on MEGA as 53 is hardware-SS but Ethernet-shield uses pin 10 for SS
     ) {
     Firmata.setPinMode(i, IGNORE);
     }
     }
     pinMode(PIN_TO_DIGITAL(53), OUTPUT); //configure hardware-SS as output on MEGA
     pinMode(PIN_TO_DIGITAL(4), OUTPUT); // switch off SD-card bypassing Firmata
     digitalWrite(PIN_TO_DIGITAL(4), HIGH); // SS is active low;
    
     // start up Network Firmata:
     Firmata.begin(stream);
    #else
     // start up the default Firmata using Serial interface:
     Firmata.begin(57600);
    #endif
     systemResetCallback(); // reset to default config
    }
  9. Abschließend wird die Firmata Firmware über den „Hochladen“-Button in der IDE auf den Arduino übertragen.Arduino IDE Sketch hochladen
  10. USB-Verbindung zum Rechner trennen, Netzwerkkabel anschließen und USB-Stromversorgung anstecken: Das Selbstbau-Sensorboard ist nun bereit für den Einsatz mit FHEM!

Arduino-Sensoren in FHEM nutzen

FHEM ist der Open-Source-Hausautomation-Server schlechthin. Dank nahezu grenzenloser Erweiterbarkeit und Anbindung zahlreicher offener und kommerzieller Smart-Home-Systeme gibt es kaum Einschränkungen in der Gestaltung des individuellen Smart Homes. Mehr Infos gibt es in den zahlreichen meintechblog-Artikeln zu FHEM und auf fhem.de

Nach der Vorbereitung der Firmware, wird jetzt das Arduino-Board in FHEM als Gateway für alle daran angeschlossenen Sensoren angelegt. Dazu wird das FHEM-Modul „FRM“ verwendet. In der FHEM-Kommandozeile werden die folgenden zwei Befehle abgesetzt.

define FIRMATA FRM 3030 global
attr FIRMATA sampling-interval 3000

Im Anschluss daran ist ein neues Gateway mit dem Namen „FIRMATA“ in FHEM angelegt. Ein Klick in dessen Detailansicht verrät, welche Ports als analoge und welche als digitale Ein- und Ausgänge verwendet werden können.

Firmata Arduino in FHEM Ports

Nachfolgend wird anhand eines Beispiels erläutert, wie ein Sensor mit dem Arduino und FIRMATA in FHEM eingebunden wird.

Beispiel: Bodenfeuchtigkeit im Blumentopf

Als Beispiel soll die Messung der Bodenfeuchte in einem Blumentopf dienen. Dies kann je nach Ideenreichtum und Umsetzung im Smart Home z.B. dazu genutzt werden, eine automatische Bewässerungssteuerung zu realisieren oder einfach den Nutzer zum Gießen per Push-Mitteilung aufzufordern.

Bodenfeuchtesensor

Dazu wird ein Bodenfeuchtigkeitssensor (wie der aus dem Arduino-Lernkit) zunächst mittels der Steckverbinder mit dem Arduino verbunden. Der Anschluss ist kinderleicht:

  • (+) wird mit einem „5V“-PIN am Arduino verbunden
  • (-) wird mit „GND“ am Arduino verbunden
  • (S) ist die Datenleitung und wird mit einem analogen Port des Arduinos verbunden

Bei einem Arduino Mega sind die Ports A0 bis A15 analoge Anschlüsse. Wie auf dem Screenshot aus FHEM oben zu sehen ist, werden die analogen Ports allerdings von 54 bis 69 durchnummeriert. Das liegt daran, dass FHEM bzw. Firmata bis Port 53 alle digitalen PINS bezeichnet, und die analogen Anschlüsse dann „weiternummeriert“. „A0“ entspricht somit dem Port 54, „A1“ dem Port 55, „A2“ dem Port 56 usw.

Nachdem die „Verkabelung“ des Sensors erfolgt ist, kann dieser in FHEM unter Angabe des Ports angelegt werden. Dazu werden auch wieder in der FHEM-Kommandozeile folgende Befehle abgesetzt:

define Wz.Pflanze FRM_AD 62
attr Wz.Pflanze IODev FIRMATA
attr Wz.Pflanze event-min-interval reading:180
attr Wz.Pflanze stateFormat reading

Im vorliegenden Fall ist ein Bodenfeuchtesensor (Name: „Wz.Pflanze“) an den Port 62 (entspricht dem analogen Port „A8“) angeschlossen. Damit FHEM weiß, wie es mit dem Sensor kommunizieren soll, muss ferner über das „IODev“-Attribut das zuvor angelegte Gateway in Form des Arduinos („FIRMATA“) angegeben werden. Um die Lese-Last zu reduzieren, sollte ferner durch die Angabe eines „event-min-interval“-Attributes das Ausleseintervall auf 3 Minuten (180 Sekunden) eingestellt werden. Ein abschließender Klick auf „Save config“ speichert die neue Konfiguration dauerhaft.

Bodenfeuchtesensor mit Arduino

FHEM erfasst nun die Werte der Bodenfeuchte. Um diese auch in Form einer Logdatei zu speichern, auf deren Basis FHEM einen Verlaufsgraphen visualisieren kann, werden folgende Befehle in der Kommandozeile abgesetzt:

define FileLog_Wz.Pflanze FileLog ./log/Wz.Pflanze-%Y.log Wz.Pflanze
attr FileLog_Wz.Pflanze logtype text

Nach einem Klick auf das eben angelegte Logfile, besteht die Möglichkeit, den Verlaufsgraphen per GUI anzulegen (Klick auf „Create SVG plot“). Der Screenshot zeigt, wie man beispielhaft einen Graphen auf Basis der Log-Daten erstellt.

Bodenfeuchte Verlaufsgrafik

Aus meinem täglichen Leben

Ich bin auf Firmata gestoßen, weil es gerade für die Messung der Bodenfeuchtigkeit in FHEM kaum Lösungen gibt. Da auch ich im Gegensatz zu Jörg (Arduino im Smart Home – HowTokein großer Fan von Arduino-Programmierung bin und die zentrale Logik lieber über meinen FHEM-Server abbilde, ist Firmata sogesehen die ultimative Lösung für mich: einmal die Firmware auf den Arduino gespielt, kann ich alles Weitere in FHEM umsetzen. Die zahlreichen Möglichkeiten, die einem durch die Sensorlandschaft zur Verfügung stehen, machen den Firmata-Arduino zu einem echten Smart Home Allrounder. Durch die Drahtverbindungen und das gehäuselose „Design“ des Arduino hat das Setup zwar aktuell noch eine Art „Bastel“-Status, aber auch hier gibt es Möglichkeiten, das Ganze jetzt schon mit wenig Aufwand in eine praxistaugliche Variante zu transferieren. Wer z.B. in seinem Garten oder auf dem Balkon die Bodenfeuchtigkeit erfassen möchte, platziert den Arduino einfach in einem wasserdichten Installationsgehäuse mit Stufennippeln, das es in nahezu allen Größen gibt.

Affiliate-Links

[easyazon_image align=“none“ height=“150″ identifier=“B00B28K1WQ“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/4146a1KBy9L.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>

Ich empfehle für den Einstieg in die Materie das bereits oben erwähnte Funduino Starterset „Mega 8“ (Affiliate-Link), weil hier bereits zahlreiche Sensoren und alles nötige Zubehör für die ersten Gehversuche mit Arduino und Firmata vorhanden sind. Das Ethernet Shield (Affiliate-Link) muss jedoch zusätzlich erworben werden. Mit der Zeit kann man dann Schritt für Schritt eine „praxistaugliche“ Lösung aus den Komponenten entwickeln, indem man z.B. bessere Bodenfeuchtesensoren, wie den Vegetronix VH400 (Affiliate-Link) und weitere Anbauteile zu der Lösung hinzufügt.

Hinweis/Update vom 08.02.2016: Der Vegetronix VH400 (Affiliate-Link) ist mittlerweile bei Amazon verfügbar, jedoch noch sehr teuer. Es handelt sich dabei jedoch aktuell um den einzigen Sensor, der wirklich komplett korrosionsfrei und damit langfristig funktioniert.

Wenn man sich einmal überlegt, was ein per Firmata angebundener Arduino damit eigentlich jetzt schon ermöglicht, fallen die „Unzulänglichkeiten“ der aktuellen Lösung schnell in den Hintergrund. Für nur wenige Euro kann man z.B. einen „One-Room-Solution“-Arduino bauen, an den alle im Smart Home relevanten Sensoren angeschlossen sind: Temperatur- und Luftfeuchtigkeit, Helligkeit, Bewegung, Bodenfeuchte für Raumpflanzen, Energiemessung etc. – und all das, ohne in der Arduino IDE zu programmieren!

Affiliate-Links

[easyazon_image align=“none“ height=“160″ identifier=“B00P0UMEE0″ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/81NEGOClrfL._SX522_-3.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>[easyazon_image align=“none“ height=“160″ identifier=“B00PL70PA2″ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/71mMt27rcvL._SX522_.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>[easyazon_image align=“none“ height=“160″ identifier=“B00QIKJKQG“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/08/510T3HTj3BL.jpg“ tag=“meintechblog-150813-21″ target=“_blank“ rel=“nofollow“>

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Verpasse keine Inhalte mehr! Trage dich in den Newsletter ein und folge uns auf Facebook.

Was ist ein Affiliate-Link? Wenn du auf einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich vom betreffenden Online-Shop oder Anbieter eine Provision, was mich u.A. bei den laufenden Kosten den Blogs unterstützt. Für dich verändert sich der Preis nicht.

Christoph

berichtet seit Juni 2012 auf meintechblog.de über seine Erfahrungen zu Smart Home und Hausautomation und beschäftigt sich außerdem mit Smart Grids. Mehr Infos

79 Gedanken zu „Selbstbau-Sensoren im Smart Home mit FHEM nutzen: ein Guide für Einsteiger“

    1. Der WLan-Adapter liegt bei mir schon länger in der Schublade und wartet nur auf seinen ersten Einsatz. Wird definitiv in einem der folgenden Blogposts behandelt.

      Grüße
      Jörg

  1. Moin Jörg,

    der Artikel kommt wie gerufen!
    Ich suche nach einer Möglichkeit 4-5 Temp-Feuchtigkeitssensoren im Keller zu platzieren. Zunächst wollte ich das mit FHEM und 1-wire realisieren.
    Wie mir scheint ist ein Ardino vermutlich die bessere Wahl, da er die Messwerte holt und dem FHEM Server übergibt. Hast Du schon Erfahrungen mit mehreren Sensoren der Art? Ich dachte hier an Sensoren folgender Art: DHT22/AM2302 (Affiliate-Link)

    Grüße Mike

    1. Hi Mike,
      ich selbst habe schon mehrere Sensoren mit einem Arduino an FHEM gekoppelt. Dazu gibt es die separate Blogserie Arduino im Smart Home, bei der ich die Codes in der Arduino IDE Software selbst programmiere.
      Ich nutze den Arduino gerade über das Ethernet-Shield mit separatem WLan-Adapter und mehreren Sensoren u.A. als Bewegungsmelder im Flur, um die Performance und Zuverlässigkeit zu testen. Nach über drei Wochen kann ich sagen: Das funktioniert um Welten besser als der vorher installierte JUNG-Bewegungsmelder, bei dem man oftmals mit den Händen „fuchteln“ musste, um das Licht zu schalten. Mit dem Arduino und dem 1-EUR Bewegungsmelder vergeht keine Sekunde vom Betreten des Flurs bis zur Auslösung (funktioniert absolut zuverlässig). Und das mit der Regelkette: Bewegungsmelder -> Arduino -> WLan-Adapter -> FHEM -> UDP -> Loxone -> Loxone Air Unterputzaktor. :)
      Christoph, der diesen Blogpost hier verfasst hat, wird den hier vorgestellten Ansatz mit Configurable Firmata aber sicherlich auch mit mehreren parallelen Sensoren weiterverfolgen. Den Arduino ohne großes Gefummel an FHEM anzubinden, hat wirklich seinen Charme.
      Die von dir angesprochenen Temperatur- und Luftfeuchtigkeitssensoren habe ich zufällig vor Kurzem im Dutzenderpack geordert. Sobald ich mich damit beschäftigt habe, werde ich darüber berichten.

      Grüße
      Jörg

    1. LOL, geniale Idee!
      Den Sound-Sensor hab ich auch schon seit Ewigkeiten rumfliegen, will damit eigentlich einen Klatschsensor fürs Licht bauen. Das gibt es irgendwie nirgends fertig zu kaufen. Eine Klingel-Erkennung sollte aber grundsätzlich auch funktionieren, klar.

      Grüße
      Jörg

  2. Ich bin auch sehr an Arduinos am FHEM interessiert. Ich will aber kleine Pro Minis nehmen, die dann per 433MHz mit dem FHEM „reden“ sollen.
    Warum? Die sollen in eine normale 55mm Unterputz-Dose passen, die dann schön versteckt neben einer Steckdose oder Lichtschalter hinter einem Blinddeckel ihr Werk tun.

    1. Hallo Thomas,

      das klingt auch sehr interessant. Mit welcher Firmware willst du den Arduino dann betreiben. Soweit ich weiss, gibt es für Firmata aktuell keinen 433 MHz Support oder weißt du da mehr?

      VG
      Christoph

    2. Hallo, die Anbindung über funk an fhem mit einbau in vorhandene Unterputzdose interessiert mich sehr! ich arbeite selbst an einer Lösung dafür. Gibt es Dokumentationen und Info´s hierzu?
      BG Mario

  3. Hallo Jörg, vielen Dank für diesen Beitrag. Ich wollte schon immer mal was mit dem Ardunio und FHEM machen. Habe gerade einen bestellt :-) Vielen Dank für deine tollen Blogbeiträge. Ich habe schon ein paar Sachen gut gebrauchen können. Habe hier ein paar Raspi´s und FHEM am werkeln.
    Gruß
    Ralf

    1. Hallo Ralf,

      der Beitrag ist zwar von mir, aber ich nehm das Lob einfach mal an :P
      Viel Spaß weiterhin mit den Hausautomation-Themen und bleib uns treu!

      Viele Grüße
      Christoph

  4. Hi Christoph,

    super Beitrag, hab gleich mal wieder meinen Arduino ausgegraben.
    Hast du schon Erfahrungen mit WLAN gemacht? Oder klappt das ganze evtl auch mit einem RPI? Lieben Gruss Daniel

  5. Hi Zusammen.
    Ich habe das nun genau wie in der Anleitung nachgebaut. Mit einem Mega und dem Ethernet Shield. Zusammengesteckt und die Firmata Conig angepasst, genau wie beschrieben. bei mir hat Fhem die IP 192.168.178.62 (angegeben mit 192,168,178,62 sind die kommas normal?). Also alles auf den Mega geladen und Netzwerkkabel eingesteckt. In Fhem noch den Firmata definiert, jedoch steht da seit 3 Stunden nur „listening“. Vielleicht hat ja jemand ne Idee warum das nicht klappt. Die Lampen auf den Shield blinken, aber wie kann ich prüfen ob die Verbindung steht? Danke euch und lieben Gruss Daniel

  6. Hallo Danny,

    das ging mir als Arduino Anfänger genauso. Ich habe es aber gefunden. Schau mal ziemlich weit oben in dem Arduino Sketch nach den Punkten

    #include
    #include

    Diese sind auskommentiert. Entferne einfach die beiden Schrägstriche (//) vor den #include und lade den Sketch erneut auf den Arduino. Schon sollte alles wie gewünscht funktionieren. Ansonsten würde nur die serielle Verbindung (über USB) gehen.

    Gruß,
    Stephan

    1. Hi Stephan, wow meinst du die beiden hier:
      #include
      #include

      Dann teste ich das gleich morgen mal:)
      SOWAS muss man do in der Anleitung erwähnen.

      Ich melde mich wenns klappt.

      Gruss Danny

  7. Ja, vor SPI und Ethernet müssen die Schrägstriche weg. Ich habe das vorhin direkt ins Kommentarfeld kopiert. Jetzt sehe ich es irgendwie auch nicht mehr…

    1. Hallo zusammen,

      danke für die Hinweise. Ich habe diesen Schritt scheinbar nicht mit in die Anleitung aufgenommen gehabt. Habe es jetzt natürlich ergänzt – daher danke nochmal für den Hinweis!

      Viele Grüße
      Christoph

    2. Hey, ich hab jetzt nochmal komplett von vorne angefangen. Alles nach Anleitung durchgemacht. Ohne Erfolg. Hat jemand eine Idee wie ich die Verbindung zu Fhem prüfen kann? Irgendwo muss hier noch ein Fehler liegen. Gibts ne andere Beschreibung? Irgendwas fehlt. Gruss Danny

    3. Hallo Danny,
      liegt es eventuell an den IP Adressen? Als Remote IP muss die IP Adresse von Deinem FHEM Server angegeben werden. Eventuell bekommt dieser über DHCP immer eine andere Adresse? Ich würde auf jeden Fall für den Fhem Server eine feste IP vergeben. Für den Arduino habe ich auch eine feste IP gewählt (define local_ip) vergeben. Dann am besten mal die IP Adresse „anpingen“, damit Du sicher sein kannst, dass der Arduino auch richtig im Netzwerk angemeldet ist.

    4. Hi Stephan.
      Ja der Fhem Server hat ne feste IP und die habe ich auch auch bei der remoteIP angegeben.
      Was ich auskommentiert habe ist die define local_ip, so stehts im Beispiel.
      Ich werde das heute Abend mal wieder vergeben und dann nochmal testen. Ich kann den Arduino eben auch nicht an der Fritzbox sehen. Was hast du da für einen Eintrag? Wie meldet sich der Mega an der FB an?
      Das muss doch irgendwie klappen :) Ich teste und berichte, Danke für deine Hilfe!

    5. So extra früher Feierabend eingelegt.
      Ich habe jetzt Die Config von Christoph auf meinen Mega gespielt(IP auf 192,168,178,62 angepasst), habe übrigens genau die Komponenten die hier erwähnt sind bestellt.
      Nachdem der Upload abgeschlossen ist stecke ich den USB stecker aus, stecke das Netzwerkkabel was direkt an meiner FB hängt an und stecke ein 12V 0,8A Netzteil an. Am Ethernetboard leuchten folgene LEDs: PWR, LINK, FULLD mehr nicht. Scheint also immernoch keine Verbindung aufzubauen. Ich werde jetzt mal die MAC adresse auskommentieren und eine direkte IP vergeben, wer weiss…

    6. Die feste IP sollte für FHEM normalerweise keine Rolle spielen. Ich habe für den Arduino eine feste IP festgelegt, weil er bei mir in der Fritzbox auch nicht in der Liste der Netzwerkgeräte aufgetaucht ist. Mit der festen IP hat sich das anfangs nicht geändert. Ich hatte aber schon mal die Möglichkeit, den Arduino anzupingen und wusste, dass er eine korrekte Netzwerkverbindung hat. Anfangs lief der Ping ins leere, was aber an den beiden auskommentierten include`s lag. Heute steht der Arduino unter seiner IP als PC_192.168.178.5 in der Liste der Netzwerkgeräte. Da Du auch einen Mega benutzt, sollte es aber jetzt ohne Bastelei mit Christoph’s Code funktionieren :) .

      Als FHEM Neuling habe ich jetzt aber eine andere Frage. Ich habe an den analogen Port einen TMP36 Temperatursensor angeschlossen. Dieser gibt mir den Wert 156 aus und schwankt je nach Temperatur. Wie kann ich Fhem zur Umrechnung der Zahl in einen Temperaturwert bewegen?

      An den digitalen PIN habe ich noch einen ds18b20 angeschlossen und anfangs gleich die erweiterte Firmata mit onewire Unterstützung installiert. Es wird zwar schon nach ein wenig basteln ein onwire Gerät angezeigt aber einen Temperaturwert bekomm ich hier auch noch nicht raus.

      Diese beiden Punkte wären auf meiner Wunschliste für zukünftige Blogeinträge :)

      Ansonsten werde ich mir mal euer Buch zulegen, um ein paar mehr FHEM-Grundlagenkenntnisse zu erhalten. Auch wenn vieles aus diesem Blog drinsteht, ist es eure viele Arbeit in jedem Fall Wert.

      Vielen Dank!

  8. So, an alle.
    Ich habe jetzt folgendes gemacht:
    local_ip IPAddress(192,168,178,99) eingegeben.
    Ohne die IP zu definieren wurde keine IP über DHCP vergeben.
    Keine Ahnung warum nicht.
    Jedenfalls klappt das jetzt so.

    @Christoph: Vielleicht nimmst du das noch als Hinweis in die Anleitung.

    Sorry für die vielen Fragen, aber wir wollen doch das es bei jedem funktioniert.
    DANKE an Christoph für die Hilfe und den tollen Beitrag und Danke auch an Stephan!

    Ich werde jetzt anfangen die Sensoren und Aktoren in Fhem über den Arduino einzubinden.
    Lieben Gruss
    Danny

    1. Hallo Danny,

      dann scheint es an der DHCP-Funktionalität deines Routers gelegen zu haben. Egal – super, dass es jetzt funktioniert!

      Viele Grüße
      Christoph

  9. Ja, das komische ist das ich hier knapp 100 Netzwerkteilnehmer habe und die sich alle super mit DHCP verbinden. Nunja, es läuft.
    Stellst du noch weitere Beispiele Online ausser die Bodenfeuchtemessung?
    Ich kann dich dabei Unterstützen wenn du magst.
    Achja, viele haben gefragt wegen WLAN usw. Ich habe das jetzt so gelösst, dass ich einen AVM FRITZ!WLAN Repeater 450E genommen habe. Der hat einen Netzwerkanschluss. Habe es grade umgesteckt und getestet. Funktioniert Prima und kostet nicht soviel wie das Arduino WiFi Shield.

  10. Super! Genau das habe ich gesucht um meinen Plan der Gartenanbindung an FHEM auch ohne Programmierungen umzusetzen! Vielen Dank dafür und weiter so mit dem Blog. Ich habe hier nun schon einiges lernen und verstehen können um mit FHEM solangsam ernsthaft loszulegen.

  11. Hallo, was haltet ihr von MySensors? Dort braucht man nur ein Gateaway seriell oder Lan und die Sensoren übertragen dann per 2,4 GHZ die Daten (jeweils ein Arduino nano oder pro nano mit Funkmodul). Man Benötigt dafür keinen bzw nur einen Netzwerkanschluss für das Gateway und ein Modul in Fhem ist auch vorhanden!
    Für die meisten Sensoren Aktoren gibt es auch fertige Sketches!
    Ich beschäftige mich grade damit, ein Sensor Läuft bereits seit ein paar Tagen im Testbetrieb mit Temperatur Luftfeuchtigkeit und Helligkeit!

    Gruss
    Marco

    1. Hallo Marco,

      super interessant! Kannst du schon mehr dazu sagen? Gerne auch per Mail und Kontaktformular. Kann mir gut vorstellen, einen Artikel dazu anzufertigen!

      Viele Grüße
      Christoph

  12. Hallo zusammen!

    Ich möchte mehrere im Haus verteilte Temperatursensoren über einen Arduino „sammeln“ und an FHEM weiterreichen. Konzeptionell wäre das für mich ideal, Verkabelung ist kein Problem, Funk eher schon (Verbindungprobleme). Bevor ich mich an die Umsetzung mache, möchte ich euch fragen ob jemand Erfahrung mit maximalen Leitungslängen vom Arduino (bzw. Funduino) zu den Sensoren hat. Der Weg zum weitest entfernten Temperatursensor ist bei mir an die 20 Meter.

    Alternative wäre die Verwendung von 1-Wire Sensoren (zB DS18B20), da gehen meines Wissens größere Leitungslängen. Hat vielleicht jemand schon 1-Wire Sensoren erfolgreich in Firmata eingebunden? Dieses Thema wurde weiter oben schon mal angesprochen, aber leider nicht weiterverfolgt.

    Wenn jemand Tipps/Infos hat, würde mir das helfen.

    Danke, vG
    fritz

    1. Hallo fritz,

      ich selbst kann dir dazu leider keine genaue Antwort geben. Vielleicht findet sich aber ja noch ein anderer User…

      Oder hast du mittlerweile schon neue Erkenntnisse?

      Viele Grüße
      Christoph

  13. Hallo,

    Dein Blog rettet mir glaube ich den Tag ;-)

    Was mich aber brennend interessieren würde ist, ob man mehrere Arduino über Lan und Firmata am Raspberry anschließen kann.
    Ich würde gerne für jeden Raum einen Arduino nano einsetzen, und dort die Sensoren pro Raum anbinden.

    Danke Viele Grüsse

    Christoph

    1. Hi!

      Klar, du kannst so viele Arduinos per LAN an FHEM (das z.B. auf einem Raspberry Pi läuft) anbinden, wie du möchtest. Genau das macht das Ganze so interessant ;)

      Viele Grüße
      Christoph

  14. Hi Christoph

    ich nutze einen Arduino Uno – und bekomme die Fehlermeldung beim verifizieren/upload:

    Der Sketch verwendet 35.402 Bytes (109%) des Programmspeicherplatzes. Das Maximum sind 32.256 Bytes.
    Globale Variablen verwenden 1.726 Bytes (84%) des dynamischen Speichers, 322 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.
    processing.app.debug.RunnerException: Der Sketch ist zu groß; unter http://www.arduino.cc/en/Guide/Troubleshooting#size finden sich Hinweise, um die Größe zu verringern.

    Ich weiß allerdings nicht wirklich, was ich weglassen kann.

    da wäre z.B:

    #include
    DigitalInputFirmata digitalInput;

    #include
    DigitalOutputFirmata digitalOutput;

    #include
    AnalogInputFirmata analogInput;

    #include
    AnalogOutputFirmata analogOutput;

    #include //wouldn’t load from ServoFirmata.h in Arduino1.0.3
    #include
    ServoFirmata servo;

    #include //wouldn’t load from I2CFirmata.h in Arduino1.0.3
    #include
    I2CFirmata i2c;

    #include
    OneWireFirmata oneWire;

    #include
    StepperFirmata stepper;

    #include
    FirmataExt firmataExt;

    #include
    FirmataScheduler scheduler;

    #include
    EncoderFirmata encoder;

    Viele Grüße
    // Dirk

  15. Hi Christoph.
    Danke für diesen Blogeintrag, der mir, wie schon so viele auf meintechblog.de, geholfen hat, ein komplexes Thema ohne tieferen Einstieg zu bewältigen. Der Feuchtigkeitssensor konnte nach ca. 30 Minuten incl. „unboxing“ etc. seine Werte problemlos an FHEM übergeben. Mein „Fernziel“ ist aber, eine Zugangskontrolle über RFID (RC-522) zu realisieren. Soweit mich meine Google Recherchen bisher gebracht haben, funktioniert das wohl nicht mit der Customizable Firmata Firmware. Wobei ich eigentlich die gesamte Logik lieber innerhalb FHEM oder zumindest per Perl Script auf dem RasPi erledigen würde. Hast du diesbezüglich schon Erfahrungen gesammelt?

    Gruß
    Frank

  16. Hallo Christoph,

    mein Problem: in der Detailansicht zu FIRMATA werden die digitalen und analogen Ports nicht angezeigt? Liegt das an Firmata oder an FHEM?

    Vile Grüße
    Ulli

  17. Wie siehts denn bei dir mit der Beständigkeit der Bodenfeuchtesensoren aus?
    Habe gerade gelesen, dass sich die Dinger leider viel zu schnell „auflösen“/unbrauchbar werden.

  18. Hallo Christoph,
    alles sehr informativ, vielen Dank, werde moch in den nächsten Wochen damit beschäftigen.

    Zwei Fragen:

    – Passt Firmata auch für den Leonardo (Affiliate-Link)?

    – WLan schein ja noch nicht erprobt zu sein. Gibt es schon irgend eine andere drahtlose lösung (868, 433 MHz….).

    Es grüsst
    Bernd

    1. Hi Bernd,

      hinsichtlich des Leonardo kann ich dir leider keinerlei Auskunft geben – sorry.
      Wlan ist noch nicht erprobt und scheinbar vorerst auch nicht möglich. Bisher ist so erst einmal nur die LAN-basierte Anbindung möglich.

      VG
      Christoph

  19. Hallo, vielen Danke euch für die informativen Blogs.
    Hab schon einiges nachgebaut :)
    Würde gerne meine Baumarkt-Rauchmelder einbinden. Die Teile laufen mit 9V Blockbatterien und haben +/- Klemmen, an denen bei „Alarm“ 9V anliegen.
    Nun zu meiner Frage: :) Kann ich mittels eines Spannungsreglers zb. 7805 direkt an einen Analogen pin des Arduinos gehen und das Ganze per FRM_AD in FHEM einbinden?

    Danke & Gruß
    Flo

  20. Hallo Christoph,
    Ich habe den Feuchtigkeitssensor wie du in einer Pflanze verbaut.
    Sobald der Sensor mit Spannung versorgt wird, findet ja Elektrolyse in der Blumenerde Statt. Dadurch ist die Lebensdauer des Sensors ja nicht so lange, und ob die Pflanze das mag, weiß ich auch nicht :D
    Wäre es nicht ausreichend den Sensor nur während eines readings mit Spannung zu versorgen ? Gibt es da eine „einfache“ möglichkeit mit FHEM einen GPIO am Arduino nur während des readings einzuschalten?

    Danke und liebe Grüße,
    Christian

    1. Hallo Christian,

      für das Thema Sensorschutz durch Korrosion gibt es die Alternative, den Vegetronix VH400 (Link siehe Update im Blogpost) zu nutzen.

      Eine Variante mit Spannungsversorgung nur bei Messung ist mir nicht bekannt. Hast du hier mittlerweile etwas umgesetzt?

      Viele Grüße
      Christoph

  21. Hallo Christoph, ich habe das selbe Problem wie „Ulli“ und noch eins oben drauf^^

    „mein Problem: in der Detailansicht zu FIRMATA werden die digitalen und analogen Ports nicht angezeigt? Liegt das an Firmata oder an FHEM?“

    Mein State bei FIRMATA ist Initialized….

    Desweiteren bekomme ich es nicht hin das ich Eingänge vom Arduino lesen kann, bzw. ist der „event-min-interval“ ohne Funktion. Es wird der Eingang einmal auf Initialized geschaltet und dann ändert sich die Zeit bei Readings nicht mehr. Ausgänge kann ich aber Steuern.

    Bin leider blutiger Anfänger in Fhem….

    Grüße Andre

  22. Hallo Zusammen,

    kann mir jemand helfen Ich habe einen Nano. Wenn ich die Änderungen wie oben mache, bekomme ich mitgeteilt, dass der der Sketch zu gross ist.

    Welcher der Includes sind Pflicht? Die zwei Include die man gemäss oben aktivieren muss, nehmen angeblich viel Platz weg. Auf was kann man verzichten?

    Gruss, Markus

  23. Hallo Christoph,
    bin neu hier und muss erst erst mal sagen, dass ich den Blogsuper finde!
    Ich habe heute die Arduino IDE 1.6 installiert und kann das Firmata Verzeichnis an der angegebenen Stelle nicht finden. Bei mir sieht es so aus (windows Rechner): Programme/Arduino/libraries/Firmata. Anscheinend hat sich in der Version 1.6 Einiges geändert. Könntest Du die Installatiom für diese neue Version updaten?
    Wie kann man mehrere Arduinos anschließen? Meine Fritz Box hat nur noch eine Netzwerkbuchse frei und da hängt der Raspberry dran. Muss dann ein Netzwerk Switch oder ein Hub dazwischen? (In der Wiki steht es geht nur ein Arduino)
    Könnte man den Arduino, der in der Nähe des Raspberrys ist, auch über USB anschliessen und die anderen über Netzwerk, also gemischten Betrieb?

    beste Gruesse
    Jürgen

  24. Hallo zusammen
    habe alles nach Anleitung gemacht. Funktioniert auch soweit alles. Habe 2 Feuchtesensoren am arduino angeschlossen und sehe auch beide Kurven im Plot. Nun mein Problem. Nach einem reset der firmata sehe ich die Daten, auch im log. aber sie werden nicht weiter ausgelesen. Wenn ich einen neuen reset mache sind die Daten wieder kurz da. Kann mir jemand helfen? Ich habe die Attribute genau wie in der Anleitung eingestellt.
    Gruß jörg

  25. hi, ich noch mal.
    ich habe den Fehler weiter eingegrenzt. Wenn ich bei Firmata reset mache ändert sich der STATE auf listening, dann werden die Logs gefüllt. ist der STATE auf Initialized hört der Datenfluss auf.
    Hat jemand eine Lösung?
    Gruß jörg

  26. Hallo,
    gibt es denn Neuigkeiten, ob das ganze mit Firmata auch über WLAN funktioniert? Ich habe mir den Wemos D1 R2 ausgeguckt, der wohl bautechnisch einem Uno gleicht und einen ESP8266 onboard verbaut hat. Leider ist das gute Stück bei mir noch nicht eingetroffen. Ich stehe mit meinen Überlegungen auch noch ganz am Anfang, FHEM ist aber bereits installiert. Die Frage ist natürlich, ob so eine WLAN-Verbindung konstant und stabil gehalten werden kann. Und dann sollte es am besten kein Abfrageintervall von FHEM geben, sondern nur eine ereignisbasierte Kommunikation (z.B. beim digitalen Sensor, wenn zwischen 1 und 0 gewechselt wird bzw. umgekehrt).
    Bin leider auch noch Anfänger, aber vielleicht kann jemand seine Erfahrungen teilen.

    Beste Grüße
    Flo

  27. Hi,
    ich bin nun schon öfter auf Euren Blog zum Thema FHEM gestoßen, echt super ! Weiter so.
    Nun habe ich auch eine Frage zu FHEM, ich habe schon viel im Internet gesucht, aber keine passende Antwort gefunden, vielleicht habe ich aber auch nach den falschen Begriffen gesucht.
    Ich möchte an meinen Raspberry Pi auf dem FHEM läuft gerne ein RFID-Modul RC522 anschließen. Hierzu habe ich schon einige Infos gefunden und das sollte auch funktionieren. Nun habe ich schon eine Weile nach einer direkten Anbindung an FHEM gesucht, bin aber leider nicht fündig geworden, ist Euch da zu etwas bekannt ?
    Alternativ könnte man ja mit FHEM eine Datei auslesen, in welche ein kleines Zusatzprogramm auf dem Raspberry Pi immer die aktuelle ID des aktuellen Transponder schreibt.
    Leider finde ich nicht wie man in FHEM in eine Datei (z.B. RFID-Transponder.txt) schaut, den Inhalt auswertet und dann darauf reagiert.
    Habt Ihr ein paar Tipp´s für mich ?

    Würde mich freuen !
    Viele Grüße
    marCus

  28. Wie machst du die Linearisierung in FHEM? Im Spannungs-VWC-Diagramm auf der Herstellerseite erkennt man einen nicht-linearen Verlauf. Wie würdest du dies in FHEM anpassen?

  29. Hallo,

    Mal wieder eine super Anleitung von dir!
    Ich bin auf der Suche nach einer Möglichkeit meinen Zisternenfüllstand mittels Schwimmerarm und Potentiometer auszuwerten. Besteht nicht die Möglichkeit nach dieser Anleitung vorzugehen und statt dem Feuchtigkeitssensor ein Poti mit ähnlichen Werten zu integrieren?

  30. Hallo Christoph,

    ich bin aktuell auf der Suche nach einer Möglichkeit ein Keypad oder auch einfach 4-5 Taster per ESP8266 (Nodemcu) an FHEM anzubinden. Digitale Signale (Relais) von FHEM -> NODEMCU sind kein Problem. Für die andere Richtung NODEMAU -> FHEM fehlt mir allerdings der Lösungsansatz. Hast du aufgrund deiner Erfahrungen vielleicht was passendes parat?

  31. Hallo.
    Jetzt dachte ich,Hey, hier gibt es jetzt mal wirklich einen Eigenbau Sensor…und dann braucht man wieder ein Ethernet Shield. Ich habe mir den Pi3 gekauft, weil ich dachte, das man damit selber Sensoren einbinden kann, aber irgendwie ist das alles nichts. Ich habe mir aus Attiny85+DHT11+433Mhz Sender, Sensoren gebaut, das ganze an einen Arduino Uno mit Display gesendet. Funktioniert…aber war irgendwie nicht „Smart“ genug.
    Deshalb der Pi…mit FHEM, werde mir aber noch andere Systeme anschauen.
    Eigentlich verstehe ich nicht, warum es bis jetzt nichts gibt, was einfache Zahlen per FHEM empfängt und diese dann zum Steuern und Anzeigen verwendet werden können. Ich habe eine Sender ID, Temperatur und Luftfeuchtigkeit. Das ist bei mir eine 5 Stellige Zahl (Attiny85 macht Probleme mit Librarys für DHT11 und 433 Sender, da muss man auf Manchester zurückgreifen).
    Das ganze sende ich über 433 Mhz an einen Arduino Nano der per USB am Pi hängt und per Serieller Ausgabe das ganze überträgt.
    Durch die Verwendung von JeeLink und anderen fertigen Protokollen/Systemen ist das alles aber irgendwie eingeschränkt. Kenne mich mit FHEM auch nicht wirklich aus.
    Im Internet oder Foren wird dann meistens dieser CUL benutzt um dann aber fertige Sensoren abzufragen. Hierwird dann bei 19€ von günstig gesprochen…
    Also wenn jemand eine Idee hat, oder eine Lösung kennt, einfach mal schreiben.

    1. Hallo ArduPino,

      ich kann verstehen, was du meinst. Ich denke allerdings, dass rund 20 Euro für einen Sensor im Smart-Home-Umfeld schon wahnsinnig günstig sind. In einem anderen Artikel (https://www.meintechblog.de/2015/01/fhem-mit-jeelink-luftfeuchte-und-temperatur-zum-low-cost-tarif-messen/) beschreibe ich z.B., wie mit Technoline-Sensoren für rund 16 Euro Temperatur und Luftfeuchtigkeit gemessen werden kann. Hier kommst du auf einen Einzelsensor-Preis von etwa 8 Euro. Das ist wirklich unschlagbar günstig. Wenn du dich mit FHEM ein wenig auseinandersetzen willst, kann ich dir nur unser eBook empfehlen (https://www.meintechblog.de/2015/02/unser-erstes-e-book-smart-home-in-eigenregie-schritt-fuer-schritt-mit-fhem-zum-connected-home/).

      Viel Erfolg weiterhin beim Basteln und liebe Grüße,
      Christoph

    2. Es gibt doch eine Alternative, mit dem nanoCUL den man selber bauen oder kaufen kann. Im FHEM Forum hat jemand das genau so gemacht wie ich, ein Attiny85 der Sensordaten an den Pi sendet. Dieser nanoCUL empfängt das ganze. Ich hoffe das funktioniert wie ich mir das vorgestellt habe.

  32. gibt es auch eine wireless-Lösung für das ganze?
    Die an den Nano 3 anzuschließenden Sensoren sind leider nicht alle in der Nähe eines LAN-Anschlusses ;-(

  33. Hallo,

    kann man auf dem Arduino etwas berechnen lassen und das Ergebnis dann abfragen. Ich möchte z.B eine Pegelmessung mit Ultraschall machen. Gibt es da andere Möglichkeiten???

    Gruß

    Olaf

  34. [Zitat]Um die Lese-Last zu reduzieren, sollte ferner durch die Angabe eines „event-min-interval“-Attributes das Ausleseintervall auf 3 Minuten (180 Sekunden) eingestellt werden.[/Zitat]
    ist nicht korrekt, das „event-min-interval“ bestimmt nicht das Ausleseinterval sondern das minnimale Interval das ein Wert ein „EVENT“ auslöst. der Auslöse Interval wird theoretisch durch das „sampling interval“ des IODEV bestimmt (und das gilt dann für alle IOs des IODEVs). In der Praxis ist das bei FRM jedoch nicht unbedingt funktional (wie ich feststellen durfte).
    Kann ja mal passieren ;)

  35. Hallo, gibst irgendwo Beschreibung wie man drei solche Arduino mit FHEM in laufen bringe? Ich hab in Keller Raspberry mit FHEM und wollte dezentral in Garten, Garage und Haus Arduino mit Relais zum steuern. LAN kabel vorhanden nur wie soll ich das mit FHEM verbinden?
    Danke für Hilfe.

  36. hi Eddi,
    wie das bei open Source so ist geht es viel um rtfm und try&fail.
    FRM ist meiner Erfahrung nach ein sehr praktikabler Ansatz um mehr als einen Arduino an FHEM anzubinden. Man definiert jeden Arduino als bestimmte FRM Instanz in FHEM und schon kan FHEM die Burschen voneinander unterscheiden.
    Ich habe bislang 3 Arduinos via USB bzw IP an meinem Raspbery FHEM. das läuft.
    Kannst mich gern im Fhem Forum anschreiben wenn du weiterführende Hilfe brauchst, bin dort unter dem gleichen Nick angemeldet.

  37. Hi,

    Ich habe mit Hilfe von diesem HowTo C-Firmata auf einem ESP8266(NodeMCU V3) zu bringen.

    Das hat soweit auch funktioniert. Es werden in FHEM aber keine Ein-/ Ausgänge angezeigt.

    Hat jemand eine Idee wo ich einen Fehler gemacht habe?

    Gruß

  38. Hallo, einige haben es bereits angesprochen aber bisher keine Lösung für einen DS18B20 präsentiert. Das geht so:

    1. Zwischen 5V und de Mitte des DS18B20 eine 4,7k Widerstand löten

    2. Die drei Pins des DS18B20 an den UNO anstecken
    links = GND
    mitte = zwichen Kopf und Widerstand an A5 (in FHEM A5=19)
    rechts = 5V

    2. Eine OneWire Connector in FHEM anlegen
    define OWio1 OWX FIRMATA:19

    Das Device OWio1 muss auf „Initialized“ gehen. Dann wird der Pin abgefragt und im Raum „OWX“ wird der DS18B20 automatisch angelegt.

    Grüße
    Thomas

  39. Hallo,

    danke für die super Anleitung. Ich bekomme aber einen UNO mit Netzwerkshield nicht ins Netz. Andere Sketche gehen, da bekomme ich auch einen Ping aber mit dem Firmata keine Change. Hab mit fester IP und mit DHCP probiert. IP reichen auch. Die RX LED flackert wild und ab und zu leuchtet kurz die TX. Hat da jemand noch eine Idee was das sein könnte.

    VG Steffen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert