Raspberry Pi DIY Zentrale (Update) - Neue Pimatic Version mit Arduino Plugin

Geschrieben von danielboe

Pimatic habe ich bereits viel früher vorgestellt, seit dem hat sich aber schon viel geändert. Das Plugin Pilight gibt es im Zusammenspiel leider nicht mehr und wir müssen einen anderen Weg einschlagen. Dieser ist übrigens kein Schlechter, denn Pimatic hat jetzt ein eigenes Plugin für die 433 Mhz Komponenten. Das Beste: Es gibt sogar eine Variante ohne Umbaumaßnahmen und zusätzliche Kosten. Das Einzige was ihr braucht, ist etwas Zeit.

Was wir brauchen

Wer bereits Teil 2 der Tutorial Serie absolviert hat, braucht eventuell GAR KEINE Einkäufe tätigen. Der Umstieg lässt sich via Software realisieren. Ich erkläre hier später, warum es trotzdem viele Punkte gibt, welche für die Arduino gesteuerte Variante sprechen. Die Umbaukosten belaufen sich auf 5-10€. Für unser Projekt reicht dieser günstige und komplett kompatible Nachbau:

  • Arduino Nano (ATmega 328P) (ca. 6€) Amazon
Arduino Nano Board

Arduino Nano Board

Wer ganz neu anfängt, hier noch einmal eine Liste

  • Ein WLAN
  • RF Sender und Empfänger (2-15€) Links: DealExtreme, Conrad
  • Schrumpfschlauch (5€) Links: Amazon
  • Schaltdraht (3€) Links: Conrad
  • Brettchen als Unterlage
  • Verbinder (6€) Links:  Conrad
  • Funksteckdose(n) (5-10€/Stk.) Links: Amazon
  • Lötkolben + Zinn (12€/Set) Links:  Amazon
Raspberry Pi 2

Bild:http://www.raspberrypi.org

Raspberry Pi Installation

Für die Installation von Raspbian auf dem Raspberry Pi nutzt einfach das Tutorial vom MAX! Cube. http://siio.de/heizenenergiesparen/heizungssteuerung-max-raspberrypi-low-budget-solution-1/

Diese Schritte müssen als Erstes abgearbeitet werden

  • Raspbian Image auf dem Raspberry Pi installieren
  • Abschließendes Setup & WLAN Installieren (Optional - Wenn ihr WiFi bzw. W-Lan braucht)

Installation von Pimatic

Ich habe diese Schritte schon in anderen Tutorials angegeben, hier aber noch einmal der komplette Ablauf, damit niemand suchen muss:

  1. Als erstes über SSH auf dem Raspberry Pi anmelden
  2. NodeJS installieren
  3. Es sollte die aktuelle Version von NODE angezeigt werden “v0.10.24”
  4. Ins Nutzerverzeichnis wechseln
  5. Verzeichnis für Installation erstellen
  6. In das Verzeichnis installieren
  7. In denInstallationsordner wechseln
  8. Standard Konfiguration kopieren
  9. Damit wir Pimatic immer über die Konsole starten können und nicht jedes mal in den Installationsordner müssen, machen wir es global:
    In den richtigen Ordner wechseln
  10. Und damit Systemweit zugänglich machen (dauert etwas länger)
  11. Als letztes packen wir die Anwendung noch in den Autostart vom Raspberry Pi, dazu laden wir als erstes ein Startscript, dieses gibt es schon fertig:
    In den Nutzerordner wechseln
  12. Das Script downloaden
  13. Das Script  in den Autostartordner schieben
  14. Das Script bekommt 1. die richtigen Nutzerrechte und wird 2. in die Autostart-Konfiguration eingefügt.
  15. Die Konfigurationsdatei öffnen mit nano /home/pi/pimatic-app/config.json . Dort dann "username": "" und "password": "" ausfüllen (für das Login im Webinterface). Speichern mit Strg-X,(y)es,Enters. Die Stelle in der Datei sollte dann in etwa so aussehen:

Das war es auch schon. Wir können nun per  sudo service pimatic start  testen, ob alles läuft. Im Terminal sollte ein OK erscheinen und Pimatic wurde gestartet. Nun werden erst einmal viele Module installiert, das dauert. Was gerade passiert kann man verfolgen mit:

Ihr solltet, wenn alles fertig installiert ist, über den Browser und die IP des Raspberry Pi´s zugreifen können: http://ip_des_RPi:8080  (Als Beispiel, bei mir lautet die komplette Adresse “http://192.168.100.109:8080”). Beim ersten Start dauert es erst einmal über 20 Minuten, das geht später schneller.

Via sudo service pimatic stop  wird es wieder beendet. Das sollte immer dann passieren, wenn die Konfiguration bearbeitet wird.

Das neue "homeduino" Plugin im Detail

Wer meine Tutorials kennt, weiß, dass Pimatic bis jetzt Pilight zur Lichtsteuerung verwendet hat. Das ist mit aktueller Pilight Version nicht mehr möglich. Ob sich die Entwickler hier in die Haare bekommen haben oder ob einfach jedes Tool seinen eigenen Weg gehen möchte - Man weiß es nicht. Wir wollen uns hier mit Pimatic beschäftigen, welches nach wie vor sehr mächtig, einfach und vielseitig ist. Das Wichtigste zuletzt: Die Steuerung von 433 Mhz Komponenten funktioniert weiterhin, Zusatzhardware braucht ihr nicht unbedingt und die Implementierung funktioniert besser denn je. Wer noch einen Schritt weiter in Richtung Stabilität und minimalen Stromverbrauch gehen will, kann ein Arduino als “Funkzentrale” verwenden. Vorteil ist, dass der Raspberry Pi sich nur um die Steuerung, nicht um die Generierung von Funkcodes und Low-Level Befehlen kümmern muss. Das Resultat: Eine wesentlich stabilere und zuverlässigere Schaltung der 433 Mhz Komponenten. Meiner Meinung nach auch besser als Pilight. Schauen wir uns beide Möglichkeiten im Detail an.

(a) Installation ohne Zusatzhardware

Die erste Variante erledigt alle Anforderungen wie gehabt auf dem Raspberry Pi. Der 433 Mhz Sender und Empfänger wird an das Raspberry Pi angeschlossen.

Sender und Empfänger am Raspberry Pi

Wenn ihr dieses Tutorial abarbeitet, könnt ihr alles wie im Bild machen. Wenn ihr die Anschlüsse anders nutzen wollt, geht das auch. Ihr müsst später in die Config Datei die passenden Pins eintragen. Die Nummern noch einmal in der nachfolgenden Grafik. Wir nutzen Pin 0 für den Empfänger und Pin 1 für den Sender.

Raspberry Pi Pinout Wiring Pi

  1. Wenn alles verkabelt ist, geht es weiter mit der Konfiguration. Wichtig ist, dass Pimatic vorher im Terminal beendet wurde.
  2. Die Config Datei öffnen
  3. bei Plugins hinzufügen:
    wichtig ist: die vorletzte Klammer hat ein Komma, die letzte nicht. Ein Beispiel der gesamten Config hier
  4. Speichern mit Strg-X,(y)es,Enters und Pimatic wieder starten

Auf gehts zum Web GUI über den Browser und im Menü links den Punkt Messages auswählen. Auf das runde Feld “Info, Warn, Error” links klicken und den Haken bei “Debug” setzen. Wenn ihr euren Empfänger verkabelt habt und mit der 433 Mhz Fernbedienung nah genug an diesem seid, sollten beim Drücken einer Taste einige Zeilen angezeigt werden. Probiert hier ein wenig herum und schaut, wie sich die Felder beim Drücken von “Ein” und “Aus” ändern. Findet eine Ausgabe mit “switch”, wo sich der Wert true und false entsprechend bei ein und aus ändert. Das ist höchstwahrscheinlich der richtige Code für eure Steckdose. Diesen dann kopieren bzw. irgendwo sichern (am besten den ganzen Log). Wir brauchen diese Daten später für die Config Datei. Ein Beispiel von mir: Ich habe mich hier für “switch4” entschieden.

Pimatic homeduino Ausgabe in der Web GUI

(b) Installation mit Zusatzhardware (Arduino)

Das Vorgehen hier ist im allgemein nicht großartig anders als bei der Variante oben. Wir nutzen nur noch einen kleinen Arduino als Filter für die Funkkommandos. Das bietet sich an, da die Hardware des Raspberry dann nicht unnötig belastet wird. Außerdem ist der Arduino für diese Aufgabe wesentlich besser geeignet und arbeitet zuverlässiger. Als erstes wieder das Bild zur Verkabelung am Arduino:

Homeduino Pinout am Arduino Nano

Wir nutzen Pin D2 (Config Pin 0) für den Empfänger und Pin D4 (Config Pin 4) für den Sender. Das solltet ihr erst einmal genau so tun. Der Arduino Nano wird dann per USB Kabel an den Raspberry Pi verbunden. Dann geht es im Terminal weiter:

  1. Ins Home Verzeichnis
  2. Mit dem Befehl alle benötigten Programme installieren
  3. die aktuelle homeduino Version herunterladen
  4. nach dem download ins Verzeichnis
  5. Pimatic beenden, falls noch nicht geschehen
  6. Das Image auf den Arduino überspielen
  7. Wenn alles funktioniert hat, kommt in etwa diese Ausgabe im Terminal:Pimatic homeduino Terminal
  8. Der Arduino ist jetzt bereit und kann in der Pimatic Konfiguration angegeben werden. Hierzu öffnen wir diese als erstes:
    Bei “Plugins” wird dieses Schnipsel platziert:
    Das Schema ist ähnlich dem, ohne Arduino wie wir sehen. Wie immer noch einmal die Ganze Config Datei. Am ende Speichern mit Strg-X,(y)es,Enters.

Das Auslesen der Codes funktioniert wie oben beschrieben ohne Arduino über das Web GUI. Als kleines Feedback sieht man hier noch die LED für Serial am Arduino blinken, wenn etwas empfangen wird. Der Kleine sendet unsere Daten an das Raspberry, Glückwunsch!

Erstellen von Geräten zum Senden

Die eingelesenen Codes nutzen wir nun, um ein Gerät für das Web GUI zu erstellen. Das kennen einige vielleicht bereits aus Pilight, für andere ist es möglicherweise komplett neu. Schritt eins wie immer: Pimatic beenden!

Die Config Datei öffnen

Dort dann unter devices eintragen

  • ID: kann freige wählt werden, keine Leerzeichen, Sonderzeichen etc.
  • NAME: Der Angezeigte Name im WebGUI. Hier gehen auch umlaute etc.
  • name, unit und id bei “protocols” werden aus den ausgelesenen Daten des Logs ausgefüllt.

Es kann auch sein “unit” & “id” werden in “houseCode” und “unitCode” angepasst. Das seht ihr alles im Log, welchen wir vorher aufgezeichnet haben. Das Beispiel ist so ausgefüllt, wie es im log oben durch meine Fernbedienung angezeigt wurde. Diese Schritte können natürlich für beliebig viele Komponenten wiederholt werden. Wenn alles eingetragen ist Speichern mit Strg-X,(y)es,Enters und Pimatic wieder starten.

Pimatic WebGui Config

Auf der Weboberfläche jetzt das Zahnrad oben rechts, "add Device" und dann die Steckdose hinzufügen. Fertig, Pimatic kann jetzt die Steckdose steuern. Weitere Informationen zur Funktionsweise und weitere Möglichkeiten mit Pimatic gibt es in der Tutorial Serie. Die Bedienung ist die Gleiche geblieben.

Zusammenfassung

Wir konnten hier mit wenig Aufwand auf das “neue System” von Pimatic umstellen. Dieses wird in Zukunft weiter entwickelt und mit jedem Update stabiler. Ich kann nur die Variante mit dem Arduino empfehlen, denn die 7€ Mehraufwand tragen erheblich zur Stabilität und Zuverlässigkeit bei. Kleiner Nebeneffekt: Ihr müsst nicht am Raspberry Pi herumbasteln und Löten. Sollte mal etwas schief gehen, muss nur der 7€ Arduino getauscht werden.

Hilfreiche Links

Forum der Entwickler (englisch)

Es gibt im pimatic Forum einen howto Bereich, wo die Installation nochmals genau erklärt wird.

Auto-Installer für Einsteiger

Für alle die mit Linux noch nicht richtig warm geworden sind, empfehle ich auf jeden Fall erstmal den Installer zu nutzen.

Die Facebook Seite der Entwickler

Liken und Teilen! ;)

 

Diesen Blogpost hat geschrieben ...

danielboe

Hi, ich bin Daniel, Geschäftsführer bei der "Smarthome Agentur UG" und mein Leben dreht sich rund um Technik seit ich denken kann. Mein Interesse gilt neuen Trends, welche den Alltag erleichtern. Dinge zu verstehen und sie noch besser zu machen ist mein Motto.
Wenn ich gerade nicht der Informatik Nerd bin, höre ich Musik, fahre Fahrrad oder treffe mich mit Freunden.

58 Kommentare

  • pilight can also work with the Arduino Nano by using the pilight usb nano firmware. This allows you to run pilight on any computer with USB (Windows, Linux, and FreeBSD).

  • Ich habe einige TX 29-IT Sensoren (868MHz), die mit einem RFM12B-Modu am Arduino Nano über RPi empfangen werden können. Mit FHEM klappt das. Das würde ich aber gerne statt FHEM unter Pimatic zusätzlich zur 433MHz TX/RX Hardware (im Beitrag (a) Installation ohne Zusatzhardware) betreiben. Gibt's dazu eventuell auch eine so gute Anleitung wie diese hier ;-)

  • Hallo Daniel,

    wieder einmal vielen Dank für die super Anleitung! :)
    Ich hatte leider erst einige Probleme, weil die Kopierfunktion für den code manchmal HTML Code mitkopiert hat
    (z.b in Schritt 2. Node js installation:

    "wget http://nodejs.org/dist/v0.10.24/node-v0.10.24-<a href="http://siio.de/glossary/linux/&quot; data-tooltip="Ein Freies Betriebssystem welches auf verschiedensten Plattformen und Geräten Läuft.Wiki" class="glossaryLink ">linux-arm-pi.tar.gz -P /tmp"
    )
    aber es ging dann über den Link der Node js Seite trotzdem, auch hatte ich einige Probleme mit meine RasPi 2, ich musste erst noch WiringPi installieren um die richtigen Pins ansprechen zu können und leider scheint mein empfänger mit pimatic die Signale von der Intertechno Fernbedienung nicht auslesen zu können, was vorher mit pilight ging. Brennenstuhl jedoch ging, und zum glück sind die Intertechnos ja programmierbar, so dass ich mir dann einfach eine ID ausdenken konnte. :)

    Eine frage hätte ich aber: gibt es eine möglichkeit, die Reichweite des Senders zu erhöhen so dass ich, idealerweise, meine ganze Wohnung damit erreiche?
    (z.b statt an den 3,3V ausgang den Sender an den 5V ausgang stecken, eine antenne anlöten o.ä.)

    oder ist es ansonsten möglich irgendwie einen zweiten sender gleichzeitig anzusprechen den ich in einem anderen Raum aufstelle?

    Viele Grüße

    • Hey, Johannes,
      das mit den commandlines fällt mir gerade auf, du hast recht beim anklicken kommt dieser wiki-link. Ich schaue mir das die tage mal an und cool, dass es trotzdem funktioniert hat :)
      Ich würde dir grundsätzlich die variante mit dem Arduino empfehlen, dann kannst du auch 5V nutzen ohne etwas kaputt zu machen. Den Sender kannst du an 5V anschließen, nur auf KEINEM Fall den Empfänger. Erklärung ist einfach: Der Empfänger setzt dann logischerweise den data-out pin auch auf 5V und das gefällt dem Raspberry Pi ganz und gar nicht! Auch eine Antenne verstärkt das Signal erheblich! Entweder kaufen oder selbst basteln aus einem Kupferdraht etc. Wichtig ist die richtige Länge, das ist einfache Physik.
      Lesenswert dazu hier: http://www.mikrocontroller.net/articles/433_MHz_Funk%C3%BCbertragung
      wenn du nicht lesen willst: 17cm draht sollten perfekt funktionieren.

      Viele Grüße

      Daniel

  • Großartiges Tutorial! Ich habe gerade pimatic auf meinem Pi 2 installiert. Die letzte Meldung, die hier nach "tail" angezeigt wurde ist "Listening ... on port 80". Das heißt bei mir war schon nach 5 Minuten alles installiert UND der Port ist die 80. Ich konnte mir die Webseite auch direkt anzeigen lassen.

    • Jap, das ist eigentlich auch das coole am npm Paketsystem. Es erledigt vieles automatisch und ist damit schon recht einsteigerfreundlich. Schwierig ist immer die config Datei in json. Ein einziges falsches Zeichen und nix geht mehr. Aber wer die logdatei immer aufmerksam ließt, findet normalerweise den Fehler.
      Dank vor allem dem Entwickler Oliver und seinen Unterstützern für das Projekt (http://pimatic.org/)

      Grüße und viel Spaß

      Daniel

  • Hy hab alles wie in der anleitung gemacht nun bekomme ich diesen log angezeigt hab ich was falsch gemacht? muss dazusagen bin ein neuling auf diesem gebiet.
    Ein Großes lob an dich ist echt super aufgebaut und toll beschrieben auf deiner homepage

    pi@raspberrypi ~ $ tail -f /home/pi/pimatic-app/pimatic-daemon.log
    16:25:59.781 [pimatic] error:> at pending.then.then.then._this.framework.on._ this.messageLoggedListener.level (/home/pi/pimatic-app/node_modules/pimatic/lib/ database.coffee:69:22)
    16:25:59.781 [pimatic] error:> at tryCatcher (/home/pi/pimatic-app/node_modul es/pimatic/node_modules/bluebird/js/main/util.js:26:23)
    16:25:59.781 [pimatic] error:> at Promise._settlePromiseFromHandler (/home/pi /pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js:507:3 1)
    16:25:59.781 [pimatic] error:> at Promise._settlePromiseAt (/home/pi/pimatic- app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js:581:18)
    16:25:59.781 [pimatic] error:> at Promise._settlePromiseAtPostResolution (/ho me/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js: 245:10)
    16:25:59.781 [pimatic] error:> at Async._drainQueue (/home/pi/pimatic-app/nod e_modules/pimatic/node_modules/bluebird/js/main/async.js:128:12)
    16:25:59.781 [pimatic] error:> at Async._drainQueues (/home/pi/pimatic-app/no de_modules/pimatic/node_modules/bluebird/js/main/async.js:133:10)
    16:25:59.781 [pimatic] error:> at Async.drainQueues (/home/pi/pimatic-app/nod e_modules/pimatic/node_modules/bluebird/js/main/async.js:15:14)
    16:25:59.781 [pimatic] error:> at process._tickCallback (node.js:415:13)
    16:25:59.793 [pimatic] info: exiting...

    • Hey Stefan,
      erst einmal danke für das Lob. Schick mir mal etwas mehr vom log. ZB mit tail -n 100 /home/pi/pimatic-app/pimatic-daemon.log kannst du 100 zeilen ausgeben. Schreib das Problem aber bitte noch einmal in unser Forum, dort kann ich dir besser helfen.
      Hier gehts weiter: Raspberry Forum

      Viele Grüße

      Daniel

  • hi,
    ich fange gerade an mich mit dem pi zu beschäftigen und habe folgendes problem bei dem tut.

    npm ERR! Error: failed to fetch from registry: pimatic
    npm ERR! at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
    npm ERR! at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
    npm ERR! at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
    npm ERR! at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
    npm ERR! at Request. (/usr/lib/nodejs/request/main.js:212:58)
    npm ERR! at Request.emit (events.js:88:20)
    npm ERR! at ClientRequest. (/usr/lib/nodejs/request/main.js:412:12)
    npm ERR! at ClientRequest.g (events.js:156:14)
    npm ERR! at ClientRequest.emit (events.js:67:17)
    npm ERR! at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1256:7)
    npm ERR! You may report this log at:
    npm ERR!
    npm ERR! or use
    npm ERR! reportbug --attach /home/pi/npm-debug.log npm
    npm ERR!
    npm ERR! System Linux 4.1.7-v7+
    npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "pimatic" "--prefix" "pimatic-app" "--production"
    npm ERR! cwd /home/pi
    npm ERR! node -v v0.6.19
    npm ERR! npm -v 1.1.4
    npm ERR! message failed to fetch from registry: pimatic
    npm ERR!
    npm ERR! Additional logging details can be found in:
    npm ERR! /home/pi/npm-debug.log
    npm not ok

    diese Fehlermeldung bekomme ich an diesem Punkt des tut´s:
    npm install pimatic --prefix pimatic-app --production

    anscheinend liegt das problem in der version von npm (npm ERR! node -v v0.6.19)

    falls dies so ist. wo und wie bekomme ich die aktuelle version davon? komme momentan nicht weiter...

    gruß tim

  • Hey Daniel, schönes Tutorial! Vielen Dank dafür!
    Möchte an dieser Stelle das pimatic Forum erwähnen, wo man weitere Information über pimatic sowie selbstverständlich auch Hilfe bei Problemen bekommt.

    Wir haben in unserem pimatic Forum einen howto Bereich, wo wir die Installation nochmals genau erklären :
    https://forum.pimatic.org/category/18/howto-pimatic

    Mittlerweile ist auch ein pimatic installer verfügbar, der alle Installationsschritte sowie die Einrichtung von Homeduino auf einem Arduino selbständig erledigt :
    https://forum.pimatic.org/topic/909/pimatic-installer

    Für alle die mit Linux noch nicht richtig warm geworden sind empfehle ich auf jedenfall erstmal den Installer zu nutzen.

    Schönen Gruß!

    Chris / leader21
    Pimatic Team

    P.S.: Natürlich sind wir auch auf Facebook : http://www.facebook-com/pimatic - liken und teilen ;)

  • Hallo ,

    ich habe diese Anleitung nun mehrmals ausgeführt und auch meine Verdrahtung mehrmal überprüft-
    Jedoch erhalte ich keine Codes und es werden auch keine Gesendet.
    Könnt ihr mir helfen ??
    Es scheint als macht mein Arduino einfach gar nichts .
    Habe auch schon einen Sensor (DHT22) eingefügt , welcher aber auch keine Daten erhält.

    Gruß
    Alex

    • Hast du mal in den Log bzw den Debug im Web frontend geschaut, ob der Arduino verbunden wird? Vielleicht ist zb der falsche usb port in der Config Datei eingestellt!

      Viele Grüße,

      Daniel

  • Hallo,
    ich wäre DIr sehr dankbar wenn Du mir weiterhelfen könntest.
    leider stoße ich beim installieren immer auf folgende Fehler und Warnungen:

    npm WARN engine hoek@2.16.3: wanted: {"node":">=0.10.40"} (current: {"node":"v0.10.24","npm":"1.3.21"})
    npm WARN engine cryptiles@2.0.5: wanted: {"node":">=0.10.40"} (current: {"node":"v0.10.24","npm":"1.3.21"})
    npm WARN engine boom@2.10.1: wanted: {"node":">=0.10.40"} (current: {"node":"v0.10.24","npm":"1.3.21"})
    .
    .
    gyp ERR! configure error
    gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
    gyp ERR! stack at failNoPython (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:101:14)
    gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:42:11
    gyp ERR! stack at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:43:25)
    gyp ERR! stack at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:46:29)
    gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/which/which.js:57:16
    gyp ERR! stack at Object.oncomplete (fs.js:107:15)
    gyp ERR! System Linux 3.18.0-trunk-rpi
    gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /usr/local/pimatic-app/node_modules/pimatic/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate
    gyp ERR! node -v v0.10.24
    gyp ERR! node-gyp -v v0.12.1
    gyp ERR! not ok
    npm WARN optional dep failed, continuing utf-8-validate@1.2.1
    .
    .
    gyp ERR! configure error
    gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
    gyp ERR! stack at failNoPython (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:101:14)
    gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:42:11
    gyp ERR! stack at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:43:25)
    gyp ERR! stack at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:46:29)
    gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/which/which.js:57:16
    gyp ERR! stack at Object.oncomplete (fs.js:107:15)
    gyp ERR! System Linux 3.18.0-trunk-rpi
    gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /usr/local/pimatic-app/node_modules/pimatic/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate
    gyp ERR! node -v v0.10.24
    gyp ERR! node-gyp -v v0.12.1
    gyp ERR! not ok
    npm WARN optional dep failed, continuing bufferutil@1.2.1
    .
    .

    gyp ERR! configure error
    gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
    gyp ERR! stack at failNoPython (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:101:14)
    gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:42:11
    gyp ERR! stack at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:43:25)
    gyp ERR! stack at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:46:29)
    gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/which/which.js:57:16
    gyp ERR! stack at Object.oncomplete (fs.js:107:15)
    gyp ERR! System Linux 3.18.0-trunk-rpi
    gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /usr/local/pimatic-app/node_modules/pimatic/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil
    gyp ERR! node -v v0.10.24
    gyp ERR! node-gyp -v v0.12.1
    gyp ERR! not ok
    npm WARN optional dep failed, continuing utf-8-validate@1.2.1
    npm WARN optional dep failed, continuing bufferutil@1.2.1
    npm WARN unmet dependency /usr/local/pimatic-app/node_modules/pimatic/node_modules/convict requires cjson@'0.3.0' but will load
    npm WARN unmet dependency /usr/local/pimatic-app/node_modules/pimatic/node_modules/cjson,
    npm WARN unmet dependency which is version 0.3.1
    npm WARN unmet dependency /usr/local/pimatic-app/node_modules/pimatic/node_modules/express/node_modules/connect requires connect-timeout@'~1.6.2' but will load
    npm WARN unmet dependency /usr/local/pimatic-app/node_modules/pimatic/node_modules/connect-timeout,
    npm WARN unmet dependency which is version 1.7.0
    pimatic@0.8.98 pimatic-app/node_modules/pimatic
    ├── cross-spawn@0.2.9 (lru-cache@2.7.3)
    ├── connect-timeout@1.7.0 (ms@0.7.1, on-headers@1.0.1, debug@2.2.0, on-finished@2.3.0, http-errors@1.3.1)
    ├── logrotate-stream@0.2.5 (byt@0.1.0, log-rotate@0.2.7, optimist@0.6.1)
    ├── request-promise@0.4.3 (chalk@1.1.1, bluebird@2.10.2, request@2.67.0, lodash@3.10.1)
    ├── socket.io@1.3.7 (debug@2.1.0, has-binary-data@0.1.3, socket.io-adapter@0.3.1, engine.io@1.5.4, socket.io-parser@2.2.4, socket.io-client@1.3.7)
    └── jsonlint@1.6.2 (nomnom@1.8.1, JSV@4.0.2)

    Vielen Dank im Voraus für Deine Hilfe!!

    Viele Grüße
    Christopher

  • Hi, habe zur Zeit Pilight 7.0 am laufen mit "mumbi" als Protokoll, Systemcode 19 und Unitcode 8 was eigentlich super läuft möchte aber gern auf Pimatic umsteigen aber ich bekomme die Dosen nicht geschalten. Habe sämtliche "switch-protokolle" ausprobiert und bekomm es einfach nicht auf die reihe.
    Kann leider nicht die Codes der FB auslesen da die irgendwann beschloss im Gartenteich baden zu gehen.
    Kabellei am PI hab ich mehrmal geprüft und in der config sind auch die Pins für den Sender korrekt festgelegt.

    Danke schonmal und Guten Rutsch
    lg Robbi

    • Ohne die Remote wird es wirklich schwierig. Beste lösung wäre wirklich, sich eine billige steckdose zu kaufen, um zumindest die Software und Hardware am Pi zu testen. Ob die systemcodes und unicodes von pilight irgendwie convertiert werden können, weiß ich nicht. Option wäre auch noch ein 2. Pi mit pilight aufzusetzen und dann mit dem pimatic empfänger die Pakete von pilight zu "sniffen"

      Viele Grüße

      Daniel

      • Kann man beides nicht paralell auf einem PI fahren um an die Codes
        zu kommen`?
        Am PI pilight und pimatic installieren und beide starten. mit pilight senden
        und mit pimatic empfangen (loggen)

  • Hi Daniel,
    liest sich wirklich gut Dein Blog ;o) Danke dafür...

    Mein Problem: Nach der Installationsroutiene versuche ich mit http://meineIP:8080 auf den RBip zuzugreifen und bekomme : Diese Webseite ist nicht verfügbar.

    Habe die Installation mehrmals ausgeführt.
    [pimatic] info: Listening for HTTP-request on port 80... wird in Putty ausgegeben und es passiert nichts weiter...

    Wo liegt der Fehler?

    Gruß RalfB

    • Ach ja,
      diese Warnmeldungen erhalte ich, wenn ich "sudo npm install -g node-gyp" ausführe:

      npm WARN engine hawk@3.1.3: wanted: {"node":">=0.10.32"} (current: {"node":"v0.1

      npm WARN engine hoek@2.16.3: wanted: {"node":">=0.10.40"} (current: {"node":"v0. 10.24","npm":"1.3.21"})
      npm WARN engine cryptiles@2.0.5: wanted: {"node":">=0.10.40"} (current: {"node": "v0.10.24","npm":"1.3.21"})
      npm WARN engine boom@2.10.1: wanted: {"node":">=0.10.40"} (current: {"node":"v0. 10.24","npm":"1.3.21"})
      npm WARN unmet dependency /usr/local/lib/node_modules/pimatic/node_modules/convict requires cjson@'0.3.0' but will load
      npm WARN unmet dependency /usr/local/lib/node_modules/pimatic/node_modules/cjson,
      npm WARN unmet dependency which is version 0.3.1
      npm WARN unmet dependency /usr/local/lib/node_modules/pimatic/node_modules/express/node_modules/connect requires connect-timeout@'~1.6.2' but will loa d
      npm WARN unmet dependency /usr/local/lib/node_modules/pimatic/node_modules/connect-timeout,
      npm WARN unmet dependency which is version 1.7.0

      • Bei mir funktioniert das auch nicht.
        Nach Eingabe von
        tail -f /home/pi/pimatic-app/pimatic-daemon.log
        sieht man, dass die Module installiert werden aber dann stoppt das Protokoll bei:
        [pimatic] info:Listening for HTTP-request on port 80...

        Weiter geht es nicht.
        Any ideas?

        • Habt ihr denn auch port 80 eingestellt? Eigentlich sollte es zu keinem fehler kommen, wenn im log schon http port 80 auftaucht. Also nicht port 8080 sondern 80! oder einfach nur die ip des raspberry

  • Vielen Dank für das Tutorial. Dies wird meinen Einstieg erleichtern. Bevor ich allerdings loslege, habe ich eine Frage: Pimatic scheint es nur mit der Web-Oberfläche zu geben. Besteht hier auch die Möglichkeit einer App-Steuerung? Für Pilight gibt es ja eine eigene App. Es scheint aber so zu sein, dass mit Pimatic mehr möglich ist als mit Pilight, richtig? Allerdings würde ich auf dem Komfort einer App zur Steuerung nicht verzichten wollen.

  • Hallo Daniel, auch von mir herzlichen Dank für die Hilfe zum Einstieg in Pimatic. Als - nach wie vor - nicht Linux-affiner Bastler habe ich die Umsetzung problemlos mit dem R-PI und einem Arduino hinbekommen. Mittlerweile läuft Pimatic sogar auf meinem Synology NAS (214+) mit angeschlossenem Arduino einwandfrei und auch ein wenig zügiger.
    VG Tim

  • Hallo Daniel. kann ich pimatic auch nur dazu verwenden das ich einen oder mehrere Tempratursensoren mit loggen kann? Ich benötige keine Funksteckdosen oder sonstiges. Möchte nur Tempratur mitloggen und eine Grafik davon haben.

    Gruß Karsten

    • Hallo Karsten,
      das geht sehr gut. Ich habe noch im Testaufbau 5 Stck. DS18B20 über den 1-wire Bus angeklemmt und kann die momentane Temparatur ablesen und beim draufklicken eine grafische Darstellung erhalten. Es können alle vorhandenen Sensoren ausgewählt und so auch zusammen in einer Grafik dargestellt werden. Dir Grafik wird live aktualisiert. Aufbereitung der Daten 1/ 7/ 30 oder 365 Tage, wenn Daten dazu vorhanden sind. Der Intevall der Datensammlung ist 5 Minuten.

      MfG, Jens.

  • Hallo,
    super Anleitung. Jedoch bekomme ich die Fehlermeldung Cannot open /dev/ttyUSB0 . Die LED auf dem Arduino bilnkt in regelmäßigen abständen. Wo liegt der Fehler

    • schau dir mal den ordner /dev mit dem befehl 'ls' an. Möglicherweise ist es auch ttyUSB1. AM besten auch das logfile von pimatic begutachten, ob die verbindung zu homeduino zustande kommt

      • Hallo Daniel,
        habe den Fehler gefunden, defektes Arduino Board. Ich habe jetzt eine Steckdose zum Laufen bekommen. Wenn ich weitere unter Devices anlege ist kein Zugriff mehr über WEB GUI Pimatic möglich. Könntest du bitte einen Auszug aus der config anhängen in der mehrere Steckdosen aufgeführt sind?

        VG

        Ingo

  • Klasse Tutorial! Allerdings reagieren bei mir Sender und Receiver nicht - ich habe parallel Homebridge installiert, dort funktioniert alles einwandfrei, die PINs sind also z.B. auch richtig gesetzt. Weder empfängt der Receiver Signale im Debug Mode, noch scheint der Sender Signale zu senden. Leider sehe ich auch keine Fehlermeldung, einfach nur Schweigen im Wald... :(

    • Hallo Matthias, hast du möglicherweise die neueste pimatic Version (0.9.x) installiert?
      Dann solltest du neue Geräte wie folgt einrichten:
      - links oben das Menu aufrufen,
      - runterscrollen bis du "Devices" findest, "Devices" klicken,
      - dann oben rechts "Discover Devices" klicken,
      nun versucht pimatic eine Zeit lang neue Devices zu finden - in diesem Zeitraum sollten neue Devices senden,
      Dann kann man eines der nun gefundenen Geräte wählen und abspeichern.

    • Hey,

      0.9 werde ich jetzt testen und sicher auch einmal darüber schreiben. Habe bald erstmal wieder ein bisschen Freizeit, daher kommt sicher auch bald wieder etwas von mir ;)
      Ansonsten schau auch, ob du im Debug wirklich alle meldungen anzeigst, nicht nur Warnung und Error.

      Grüße

      • Hi danielboe
        ,
        super Anleitung. Ich habe leider das Problem, dass ich auch keine Signale empfange, auch wenn ich unter Device-> Discover Device gehe.
        Das mein Receiver funktioniert weiß ich, da ich mit pilight-receive Daten empfange.

        Gruß,
        Sebastian

  • Hallo Daniel,

    ich habe bei mir in den Log Massages immer eine Fehlermeldung stehen, mit der ich nichts anfagen kann und bei google auch nichts finde:
    Error running ./node_modules/pimatic/ppm.js install pimatic-homeduino@0.9.11 --unsafe-perm

    Was hat dies zu bedeuten und kann ich das Problem lösen?

    Vielen Dank!

    Sebastian

  • Hallo Daniel,

    super Tutorial. Ich habe leider noch ein Problem. Ich habe alles korrekt verdrahtet und mein ardunio leuchtet auch wenn ich mein 433 Mhz Fernbedienung bediene. Ich bekomme im Web front-End aber leider keine Codes angezeigt. Wo könnte das Problem liegen. Ich komme einfach nicht weiter...
    Hier der log:

    pi@raspberrypi:~/homeduino $ tail -f /home/pi/pimatic-app/pimatic-daemon.log
    12:48:38.280 [pimatic-mobile-frontend] info: rendering html
    12:48:42.996 [pimatic-mobile-frontend] info: rendering html finished
    12:48:43.032 [pimatic] info: Listening for HTTP-request on port 80...
    12:48:43.057 [pimatic-homeduino] info: Connected to homeduino device.
    12:55:06.543 [pimatic-mobile-frontend] info: rendering theme: graphite/water
    12:55:09.210 [pimatic-mobile-frontend] info: rendering theme finished
    13:03:13.818 [pimatic] info: Flushing database to disk, please wait...
    13:03:13.836 [pimatic] info: Flushing database to disk, please wait... Done.
    13:03:13.840 [pimatic] info: exiting...
    13:07:19.698 2016-12-04 Sunday
    13:07:24.288 [pimatic] info: Starting pimatic version 0.9.37
    13:07:26.147 [pimatic, ppm] info: 2.15.11
    13:07:26.186 [pimatic] info: Loading plugin: "pimatic-cron" (0.8.8)
    13:07:26.594 [pimatic] info: Loading plugin: "pimatic-mobile-frontend" (0.9.11)
    13:07:27.187 [pimatic] info: Loading plugin: "pimatic-homeduino" (0.9.11)
    13:07:27.784 [pimatic-cron] info: the time is: Sun Dec 04 2016 13:07:27 GMT+0100 (CET)
    13:07:28.607 [pimatic-mobile-frontend] info: packing static assets
    13:07:28.949 [pimatic-mobile-frontend] info: packing static assets finished
    13:07:28.956 [pimatic-mobile-frontend] info: rendering html
    13:07:35.667 [pimatic-mobile-frontend] info: rendering html finished
    13:07:35.707 [pimatic] info: Listening for HTTP-request on port 80...
    13:07:35.734 [pimatic-homeduino] info: Connected to homeduino device.
    13:08:36.079 [pimatic-mobile-frontend] info: rendering theme: graphite/water
    13:08:38.789 [pimatic-mobile-frontend] info: rendering theme finished

    Vielen Dank für deine Hilfe.

  • Hallo, vielen Dank für die tolle Anleitung.
    Leider habe ich noch das Problem, das sich das Plugin "homeduino" nicht mehr installieren lässt. Kann das daran liegen das ich eine höhere Version des Nodejs installiert habe? (Version. 7.x)

    Grüße

    Andreas

  • Hallo Daniel,

    erst mal vorab vielen Dank für diese Anleitung.
    Ich habe dies nun auch mal ausprobiert und musste an einigen Stellen sehen, das neue Versionen teils vorhanden sind und diese Probleme verursachten.
    Jedenfalls bin ich an dem Punkt angelangt, das ich per Arduino Nano die RF-Signale empfangen möchte. Es funktioniert leider nicht.
    Man geht auf die Suche, alles wird überprüft... du kennst das Spielchen, man lässt nichts aus und sucht Alternativen.
    Dann bin ich auf eine Seite gestossen: https://alexbloggt.com/fenstersensoren-arduino/
    Ich habe das Sketch wie dort beschrieben aufgespielt und siehe da, ich konnte Signale empfangen.
    Das ganze wieder am Raspi angeschlossen und dort empfange ich keine Signale.
    Somit denke ich, das ein Problem im Image vorliegt, das man uploadet.
    Ist dir evtl was bekannt oder hast du eine Idee, warum das Sketch am PC mit dem Nano funktioniert, aber das Image vom Homeduino nicht?

    Grüße
    Marcel

    • Du wirst lachen, aber das scheint ja normal zu sein...
      Nachdem ich das oben geschrieben hatte, klappte es doch. Ich hatte nur noch mal alles neu gestartet und siehe da, jetzt konnte ich meine Funksteckdosen per Switch schalten. Genial ;-)

  • Kannst du vielleicht noch einmal ein UPDATE machen? Ist ja mittlerweile schon 2017. Gibt jetzt ja schon wieder neue Möglichkeiten. Ich fänd es auf jeden Fall sehr coll, wenn du nen Update machen würdest.

  • Huhu,

    versuche gerade nach der Installation: sudo service pimatic start

    Erhalte Folgendes: Job for pimatic.service failed. See 'systemctl status pimatic.service' and 'journalctl -xn' for details.

    ‘systemctl status pimatic.service‘ liefert:

    pimatic.service - LSB: pimatic service
    Loaded: loaded (/etc/init.d/pimatic)
    Active: failed (Result: exit-code) since Mon 2017-03-13 21:20:16 UTC; 1min 16s ago
    Process: 2212 ExecStart=/etc/init.d/pimatic start (code=exited, status=1/FAILURE)

    Hat jemand eine Ahnung wie sich das lösen lässt? :)

    Tolles Tut. by the way :)

    • Schau mal, was hier im Log steht:

      tail -f /home/pi/pimatic-app/pimatic-daemon.log

      daraus solltest du eig. schlau werden bzw. irgendwo da sollte ein hinweis auf das Problem auftauchen

      • Ich habe genau das selbe Problem. Nach eingabe deines Befehls kommt dass:
        tail: „/home/pi/pimatic-app/pimatic-daemon.log“ kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden
        tail: Keine Dateien mehr übrig
        Ich habe keine Ahnung was ich machen kann.. kannst du mir helfen?

          • Danke Dir für Deine schnelle Antwort.
            Ja ich habe das ganze auf Raspbian Jessie gemacht. Die Installation hat jetzt über den Link super funktioniert. Aber jetzt lässt sich Pimatic nicht starten.. Wenn ich den Befehl: "sudo service pimatic start" in das Terminal eingebe, dann kommt kein "ok" bzw. keine Bestätigung.
            Angezeigt wird mir bei der Eingabe von dem Befehl "tail -f /home/pi/pimatic-app/pimatic-daemon.log" folgendes:

            14:44:31.075 [pimatic, ppm] info: > sqlite3@3.1.8 install /home/pi/pimatic-app/node_modules/sqlite3
            14:44:31.080 [pimatic, ppm] info: > node-pre-gyp install --fallback-to-build
            14:44:36.400 [pimatic, ppm] info: node-pre-gyp ERR! Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.8/node-v46-linux-arm.tar.gz
            14:44:36.405 [pimatic, ppm] info: node-pre-gyp ERR! Pre-built binaries not found for sqlite3@3.1.8 and node@4.8.3 (node-v46 ABI) (falling back to source compile with node-gyp)
            14:44:53.460 [pimatic, ppm] info: make: Entering directory '/home/pi/pimatic-app/node_modules/sqlite3/build'
            14:44:53.487 [pimatic, ppm] info: ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep Release/obj/gen/sqlite-autoconf-3150000/sqlite3.c
            14:44:54.045 [pimatic, ppm] info: TOUCH Release/obj.target/deps/action_before_build.stamp
            14:44:54.168 [pimatic, ppm] info: CC(target) Release/obj.target/sqlite3/gen/sqlite-autoconf-3150000/sqlite3.o

            Bei dem Versuch die Seite über den Browser zu starten wird mir gemeldet, dass die Website nicht erreichbar ist.

  • Hallo Daniel,
    Habe mich genau an die Anleitung gehalten. Bekomme auch die Codes von meinem Steckdosen ausgelesen aber leider kann ich keine Codes senden. Habe schon mit dem Pilight sniffer versucht aufzuzeichnen aber da kommt nichts an. Der sender geht denn unter Pilight kann ich senden. Nur nicht mit Pimatic woran kann das liegen.
    Gruß Tim

Gib deinen Senf dazu!

Cookie Consent mit Real Cookie Banner