Showing Posts From
Automation

- 06 Aug, 2018
- 3 Min. Lesezeit
MotionEyeOs: Benachrichtigung bei Bewegungserkennung via Slack - motion push notification
Du möchtest benachrichtigt werden wenn deine MotionEyeOs Überwachungskamera eine Bewegung erkennt. MotionEye hat mehrere Funktionen das Umzusetzen. Wenn MotionEye eine Bewegung erkennt, kannst du eine E-Mail versenden, ein Webhook aufrufen, oder ein Script starten. Letzteres verwenden wir um eine Nachricht an deinen Slack Account zu senden. Slack ist kostenlos für Mac OSX, Windows, iOS und Android verfügbar. Du kannst Push Nachrichten auf dein iPhone oder Android Smartphone erhalten. Voraussetzung ist ein laufendes MotionEye. Anleitung MotionEyeOS auf dem Raspberry Pi installieren. Inhalt Slack einrichtenDu benötigst einen kostenlosen Slack Account. Diesen kannst du hier erstellen.Ein Webhook wird benötigt, um Nachrichten (per Script) an deinen Slack Channel zu senden. Öffne die Seite https://my.slack.com/services/new/incoming-webhook/. Erstelle einen neuen Channel nur für MotionEye. Klick auf "create a new channel".Markiere den neuen Channel als "Private", damit nur du und eingeladene Benutzer den Inhalt des Channels sehen können. Gib dem Channel einen eindeutigen Namen, wie "MotionEye" und klick auf "Create Channel". Jetzt müßtest du wieder auf der vorherigen Seite sein. Klick dort auf den Button "Add Incoming WebHooks integration".Der Webhook für deinen neuen Channel wurde erstellt. Diesen benötigst du später für dein Slack-Benachrichtigungs Script. Lass die Seite offen, oder speichere dir die URL ab.MotionEyeOs Slack Notification Script erstellen MotionEyeOs ist eine sehr reduzierte Linux Version. Man kann nicht wie bei Raspbian Pakete mit apt-get installieren und manche Befehle wie git clone funktionieren auch nicht. Den Befehl sudo benötigt man nicht, da du dich als root anmeldest. Das Script muss im Ordner data gespeichert werden.Melde dich per SSH bei deinem Raspberry Pi mit MotionEyeOs an. Ersetze die IP, mit der deines Raspberry Pi. ssh admin@192.168.0.10 Das Passwort ist das selbe wie bei deinem MotionEye Admin Benutzer.Erstelle die Script Datei mit dem Namen slack.py im Ordner data und öffne den Nano Texteditor. nano /data/slack.pyDer Github-Nutzer raspberrycoulis hat das MotionEyeOs Slack Script erstellt. Kopiere das folgende Script in den Nano Texteditor (Copy Button rechts oben im schwarzen Code-Bereich).#!/usr/bin/python# Created by Wesley Archer at Raspberry Coulis # # Website: https://www.raspberrycoulis.co.uk | Twitter: @raspberrycoulis # # # # 1. Intro: # # # # This Python script sends notifications to a dedicated Slack channel whenever movement is # # detected in MotionEye OS. # # # # You will need to create a free Slack account over at https://slack.com/ and create an incoming # # webhook by visiting https://my.slack.com/services/new/incoming-webhook/. I recommend creating # # a dedicated Slack channel (i.e. #motioneyeos), but you can also add a custom icon and name # # to make it look the part too! # # # # 2. Customising your Slack notification: # # # # You can customise the message sent to Slack by editing the data string below. # # # # The string must be within curly brackets and start with {"text": }. Links can be included # # between <> - i.e. and text can be displayed using | so this # # would be a link to Raspberry Coulis! # # # # To emphasise text, place words you want in bold between two asterix - i.e. *this is bold!* # # # # Split text onto a new line with "\n" (without the quotation marks) so "Hello\nWorld!" becomes # # # # Hello # # World! # # # # Remember to enclose your custom text message within quotation marks though! # # # # 3. This is my example: # # # # '{"text": "Motion Detected!\nView the *<http://IP.ADD.RE.SS|live stream>* now!"}' #import urllib2url = 'INSERT-SLACK-INCOMING-WEBHOOK-URL-HERE' # Add your Slack incoming Webhook URL here (starts https://hooks.slack.com) data = '{"text": "Motion Detected!\nView the *<http://IP.ADD.RE.SS|live stream>* now! :video_camera:"}' # See above to customise message.req = urllib2.Request(url, data, {'Content-Type': 'application/json'}) f = urllib2.urlopen(req) f.close()Du musst das Script noch anpassen. Ersetze "INSERT-SLACK-INCOMING-WEBHOOK-URL-HERE" im Script mit der URL deines Slack Webhook. Die Nachricht kannst du anpassen wenn du diesen Text veränderst. "Motion Detected!\nView the *<http://IP.ADD.RE.SS|live stream>* now!" Das Zeichen \n bedeutet ein Zeilenumbruch. Links kannst du wie folgt formatieren, um sie in deiner Slack Nachricht anzuzeigen. <Linkadresse|Linktext> Emoji kannst du auch einfügen. Hier eine Übersicht aller verfügbaren Emoji. Verwende den "Short Name" Code. Beende den Nano Texteditor mit Ctrl+X und Bestätige die Änderung mit Y.Das Script muss noch ausführbar gemacht werden. chmod +x /data/slack.pyJetzt kannst du das Script testen. python /data/slack.py Du solltest eine Push Notification auf dein Smartphone erhalten. Wenn du mit dem Browser in der Slack App angemeldet bist, erhältst du nur dort eine Benachrichtigung.Script in MotionEye Einstellung hinterlegenÖffne die MotionEye Weboberfläche und klick links oben auf das Menu-IconAktiviere die Bewegungserkennung im Menüpunkt "Motion Detection".Im Menüpunkt "Motion Notification" aktiviere "Run A Command". Im Feld "Command" trägst du den Befehl zum starten des Slack Notification Scipt ein. python /data/slack.py Die Änderungen speicherst du mit einem klick oben auf den orangenem Button "Apply".Wenn MotionEye eine Bewegung erkennt, solltest du eine Push Notification auf deinem iPhone/Android Smartphone empfangen. Vorausgesetzt du hast die Slack App installiert und bist dort angemeldet. ;)

- 10 Aug, 2017
- 6 min read
Controll FHEM devices with amazon dash button
I explained in this article how you can execute IFTTT actions with the Amazon dash button. By changing a single line of code you can switch an FHEM device. How does it work? By calling a URL (HHTP Post Request) you can tell FHEM to do soemthing. This way you can switch lights on or off, open or close shutters, turn remote contrles wall plugs on or off and a lot more. The dash button is not suitable for every application as the button has a latency of 5 to 6 seconds until a FHEM device is switched. What's required:Raspberry Pi or Debian/Ubuntu Linux computer Amazon Dash Button Running FHEMHere is a sample video how a Philips Hue lamp is turned on using a Amazon dash button and FHEM. Thanks to Hagen for that video.Contents Option 1: FHEM module dash_dhcpWorks without additional software FHEM server can be connected to the network vial ethernet cable Multiple Amazon dash buttons can be embeddedUpdate your FHEM to the newest version and install the module dash_dhcp. Here is a short tutorial how you can implement a update button in the sidebar of the FHEM web interface.Determine the MAC address of your Amazon dash button. Therefore, log into your router. I have a Fritzbox where all wifi devices are listed under WLAN -> Network. For Mac the free application LanScan can be used to run a scan of your network and detemrin the respective MAC address.Open the FHEM configuration file fhem.cfg and add the following code. Replace the MAC address behind allowed with the one of your dash button. You can write multiple MAC addresses after each other if you separate them by ,. The MAC address should be written in small caps.define DashButton dash_dhcp attr DashButton allowed ac:66:be:e3:fb:fe attr DashButton port 6767 attr DashButton room dashbuttondefine n_DashButton1 notify DashButton:ac-66-be-e3-fb-fe..short IF ([YourFHEMDevice] eq "on") (set YourFHEMDevice off) ELSE (set YourFHEMDevice on) Replace in the notify command YourFHEMDevice with the name of your FHEM device that you want to switch on or off and make sure that the MAC adress is written with dashes. Don't forget to save! Multiple dash buttons can be separated by commas.attr DashButton allowed ac:66:be:e3:fb:fe,ac:66:be:e3:fa:31Now You need to forward the data from port 67 to port 6767. DHCP requests arrive always through port 67 and that port can only be accessed with root access rights. FHEM is usually started without root rights. In case your FHEM server in implemened in the network via a wifi domgle execute the following command in the terminal.sudo iptables -I PREROUTING -t nat -i wlan0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 In case the FHEM server is implemented via a ethernet cable use the following command.sudo iptables -I PREROUTING -t nat -i eth0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767You should be now able to switch your FHEM device on or off with the Amazon dash button. In order to check if the dash button is recognized by FHEM you can use the Event monitor in the FHEM web interface in the left sidebar. After clicking the dash button, dash_dhcp DashButton ac-66-be-e3-fb-fe: short should appear in the monitor. The forwarding of the ports via iptables needs to be set after a restart. Install the application iptables-persistent that the fowarding is loaded automatically after a restart.sudo apt-get update && sudo apt-get install -y iptables-persistent During the installation of iptables-persistent a couple of settings need to be made. Confirm all with YES. You can now write the port forward for the dash button in the file rules.v4. sudo nano /etc/iptables/rules.v4 Add the forward before the last COMMIT. (Ethernet cable)-I PREROUTING -t nat -i eth0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 (WIFI Dongle)-I PREROUTING -t nat -i wlan0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 Exit the Nano text editor with ctrl+x and save the changes. After a restart with sudo reboot the rules.v4 file is loaded automatically and the port forwarding should work. ALTERNATIVE In case the fowarding via rules.v4 does not work, you can try this alternative option. Open the /etc/rc.local file. This file is executed during every system start.sudo nano /etc/rc.local and add the command for the forwarding before exit 0. (Ethernet cable)sudo iptables -I PREROUTING -t nat -i eth0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 (WIFI dongle)sudo iptables -I PREROUTING -t nat -i wlan0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767Option 2: with NodeJS and DasherFHEM Server can be connected to the network via ethernet cable Multiple Amazon dash buttons can be used Flexible as other services, such as, Zapier or IFTTT can be pinged via HTTP GET and POST Request.- Additional software is requiredAs first step the package lists need to be updated and the required applications git & libpcap-dev need to be installed. sudo apt-get update && sudo apt-get install libpcap-dev Furthermore, the current version of Node.js (v6.5.0) is required. Detailed Tutorial Add the Node.js source to your package list. curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - You can now install Node.js. sudo apt-get install -y nodejsAs next step you can download and install the Node.js application "Dasher". Navigate with cd ~/ into your home folder and copy Dasher from Github. git clone https://github.com/maddox/dasher.git Navigate to the Dasher directory cd dasher Now the required programs and dependencies of Dasher need to be installed. npm installDasher requires the MAC address of your dash button which are easily found. Log into your router and have a look at the connected devices. You can also use the program "find-button" that is provided by Dasher. script/find_button Press after "find-button" was started the dash button. The program should show the MAC address. Copy the MAC address and close the program with ctrl+c on a Mac or strg+c in Windows.Now you need to adjust the URL in the Dasher config/config.json file the way you want. nano config/config.json{"buttons":[ { "name": "Dash1", "address": "ac:61:b3:e1:fa:fe", "url": "http://127.0.0.1:8083/fhem?cmd=set%20DashButton1%20toggle", "method": "POST", "json": true, "body": {"value1": "any value", "value2": "another value"} } ]} The IP 127.0.0.1 points always to the local computer, i.e. himself. As alternative you can write http://localhost:8083/fhem?cmd=set%20DashButton1%20toggle.Start Dasher and press the button to check if everything works. If everything is fine the terminal should show "Dash1 pressed". Dasher and your button work and FHEM can be configured. You can close the program with ctrl+c. sudo npm run startConfigure FHEM for the Dash Button Open the FHEM configuration file fhem.cfg and add the following code. Define in FHEM a Dummy for the dash button. Here is a good help for beginners.define DashButton1 dummy attr DashButton1 webCmd toggleCreate a notify that turns your FHEM device on or off. Replace YourFHEMDevice with the name of your FHEM device. Save the cfg file. In case you have closed Dasher, you can start it with sudo npm run start and press the dash button.define n_DashButton1 notify DashButton1.* IF ([YourFHEMDevice] eq "on") (set YourFHEMDevice off) ELSE (set YourFHEMDevice on) Explenation: The Dummy DashButton1 will be define n_DashButton1[name of the notify] notify[the command] DashButton1.*[in case of a change of the Dummy Reading, then] IF ([YourFHEMDevice] eq "on") [check if Reading of YourFHEMDevice is on, then] (set YourFHEMDevice off) [set YourFHEMDevice Reading to off] ELSE (set YourFHEMDevice on) [otherwise set YourFHEMDevice Reading to on] To configure the dash button to turn off multiple FHEM devices, use the following configuration. Again, replace YourFHEMDevice and YourFHEMDevice1 with your FHEM devices names. You can write as many devices as you want behind each other as long as they are separated by ;;.define n_DashButton1 notify DashButton1.* set YourFHEMDevice off;; set YourFHEMDevice1 offSet up Dasher Autostart After every system start the Dasher Programm would need to be reconfigured by hand. Set up a Init script for Dasher that the Dasher runs as a service runs in the background and is started when the system is started. Tutorial You can see here roughly the time the setup needs to react.

- 22 Apr, 2017
- 3 min read
Auto start Midori Browser in Fullscreen Kiosk Modus - Raspberry Pi Linux
I will show you in this tutorial how to start the Midori Browser in full screen mode (kiosk mode) automatically after the Raspberry booted. The graphical shell (desktop) of Rapsian will not be required or started. A pratical applicaton of this would be, for example, an info monitor on an exhibition. In this project, I want to realise a small contol center for FHEM. Therefore, a PiTFT with capacitive touch screen will be used. This, however, is covered in a later tutorial.This tutorial assumes that the Raspberyy Pi or Debian Linux computer starts in terminal/console mode and not in desktop mode loading the graphical shell. Contents Midori Full Screen AutostartRun the following command with the console to update the package list. After that the Midori browser and matchbox will be installed. sudo apt-get update && sudo apt-get install -y midori matchboxCreate a new shell script file with the name_startMidori.sh_ in the home folder and open the Nano text editor. Name and save location can be chosen as you like. nano startMidori.shAdd the following code and exit the Nano text editor ctr+x. To save the changes press Y and Enter.#!/bin/sh xset -dpms # disable DPMS (Energy Star) features. xset s off # disable screen saver xset s noblank # don't blank the video device matchbox-window-manager & midori -e Fullscreen -a https://wordpress-x0o8gcg88www8k084ks8k088.c.benroe.deMake the script excecutable. sudo chmod +x startMidori.shYou can test the script if you run the following command. sudo xinit ./startMidori.sh You can exit the Midori browser with the key combinationCTRL + ALT + F1. In case you called the scriped via SSH, you can exit the script via CTRL + c.In order to automatically excecute the script when the Raspberry starts we need to edit the rc.local file. This script is excecuted when the Raspberry starts. sudo nano /etc/rc.local Add the following code before exit 0. For HDMI: sudo xinit /home/pi/startMidori.sh & For PiTFT: FRAMEBUFFER=/dev/fb1 xinit /home/pi/startMidori.sh & The & at the end is important that the subsequent lines are excecuted. You can run the script with a time delay if you sourround the command in brackets and preprend /bin/sleep 10 && schreibst. The 10 means a delay of 10 seconds. (/bin/sleep 10 && xinit /home/pi/startMidori.sh) &Unfortunately, the system needs to sign in automatically to be able to run the script. You can set this up easily if you use Raspbian Jessie using sudo raspi-config and the selecting Console Autologin under boot options. You need to use the following command to the console if you use and older Raspbian version. sudo nano /etc/inittab Search the following line 1:2345:respawn:/sbin/getty 115200 tty1 and comment it with #. #1:2345:respawn:/sbin/getty 115200 tty1 After this line add the following command. 1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1 This line enables that the user pi logs in without authentication.Now you just need to restart the Raspberry pi … sudo reboot … and the Midori browser should open with the desired webpage in full screen mode. You will exit the Midori Browser using CTRL + ALT + F1.Optional: Rotate screen If you want to show the screen in vertical mode or rotate by 180 degrees you can set this up using the following steps.Open the config.txt file with the Nano editor sudo nano /boot/config.txtAdd the following test at the beginning of the config.txt file. display_rotate=2 display_rotate=0 Normal display_rotate=1 90 degrees display_rotate=2 180 degrees display_rotate=3 270 degrees display_rotate=0x10000 Mirror horizontal display_rotate=0x20000 Mirror verticalExit the editing with the shortcut ctrl+x and save the changes with y.After a restart the screen will be shown rotated as you wanted. sudo rebootOptional: Hide mouse pointerInstall the program unclutter. sudo apt-get install unclutterAdd unclutter & to the startMidori.sh script. sudo nano startMidori.sh#!/bin/sh xset -dpms # disable DPMS (Energy Star) features. xset s off # disable screen saver xset s noblank # don't blank the video device unclutter & matchbox-window-manager & midori -e Fullscreen -a https://wordpress-x0o8gcg88www8k084ks8k088.c.benroe.deA detailed article about "[Raspberry Pi: Run Applications at System Start](http://Raspberry Pi: Programme beim Systemstart ausführen)"
- 22 Apr, 2017
- 2 min read
Automatic mount hard drive or usb stick on Raspberry Pi
Requirements:Raspbian or similar distributionUSB hard drive or Memory stick with a partition (NTFS/Fat32/HFS+/Ext4)As a first step you need to update the package lists of Raspbian and install the drivers for NTFS and HFS+. sudo apt-get update && sudo apt-get -y install ntfs-3g hfsutils hfsprogsCreate a new folder in the directory /media in which you later on will mount the memory stick or USB hard drive. You can name the folder as you like, however, do not use special characters or spaces. Furthermore, change the owner of the folder to pi. In case you use a different user name you need to replace pi in the command below by the name you use.sudo mkdir /media/usbhdd sudo chown pi /media/usbhdd "In oder to attach a file system a mount point has to exist. A mount point is an empty folder through which additional file systems are mouted and accessed." ubuntuusers.deAttach the storage medium to the Raspberry.Now you need the path to the partition of the storage medium (in this case it is /dev/sda1). sudo fdisk -lFor the moment you manually include the storage medium with the following command. Replace /dev/sda1 with the path to the partion of the storage medium that we just figured. Ext4 sudo mount /dev/sda1 /media/usbhdd NTFS sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/usbhdd/ HFS+ sudo mount -t hfsplus -o force.uid=pi,gid=pi /dev/sda1 /media/usbhdd/ FAT32 sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/usbhdd/ From this point on you can already access the storage medium with cd /media/usbhdd/.</>We need the UUID of the hard drive that the storage medium will be automatically mounted after a restart. Enter the following command into the console: sudo blkid "UUID stands for Universally Unique Identifier and is a standard to identify information in computers. Each Linux file system has a UUID through which it can be identified. As an alternative the file systems can be identified through a device file /dev/sdaX but the labels can change in this case. " ubuntuusers.deOpen the file fstab with the Nano text editor sudo nano /etc/fstab and add one of the lines for your file system. Replace the UUID that you determined in the previous step. Exit the Nano editor afterwards with Strg+x (Win) ctrl+x (Mac) and confirm the changes with y or j ( depending on your language settings.#Ext4 UUID=13aa0627-fb13-4d2f-8d3f-53aea43b9439 /media/usbhdd ext4 defaults 0 0#NTFS UUID=10BF-F2D6 /media/usbhdd/ ntfs-3g defaults,umask=000,users 0 0#HFS+ UUID=10BF-F2D6 /media/usbhdd/ hfsplus defaults,umask=000,users 0 0#FAT32 UUID=10BF-F2D6 /media/usbhdd/ vfat defaults,umask=000,users 0 0 More information about fstab can be found here.Done! You can now access your files on the usb hard drive or memory stick and the drive will be mounted automatically after a restart.

- 12 Nov, 2016
- 2 Min. Lesezeit
Raspberry Pi mit einer Büroklammer ausschalten bzw. herunterfahren
In dieser Anleitung erkläre ich wie du dein Raspberry Pi mit einer Büroklammer herunterfahren kannst. Viele Raspberry Pi Projekte werden ohne Monitor und Tastatur betrieben. Wie aber kann man den Raspberry Pi einfach, schnell und günstig ohne extra Schalter ausschalten? Das Script von Adafruit wird beim booten automatisch gestartet. Wenn du die zwei letzten GPIO Pins mit einem leitendem Gegenstand wie einer Büroklammer verbindest, fährt der Raspberry Pi wie von Geisterhand herunter.Inhalt Script installierenAls erstes installierst du Git auf dem Raspberry Pi. Du benötigst es um ein Script von Github zu kopieren. sudo apt-get install gitKopiere jetzt das Script. git clone https://github.com/adafruit/Adafruit-GPIO-HaltWechsel in den kopierten Ordner, kompiliere und installiere das Script.cd Adafruit-GPIO-Halt make sudo make install Das Script wird in den Ordner /usr/local/bin/gpio-halt installiert. Es muss als Service im Hintergrund gestartet werden.Script automatisch Starten (Raspbian Jessie) Fahre hiermit fort wenn du Raspbian Jessie verwendest. Weiter unten wird erklärt wie du den Autostart mit Raspbian Wheezy einrichtest.Erstell und öffne eine Datei für den Autostart namens gpio-halt.service sudo nano /lib/systemd/system/gpio-halt.serviceFüge folgenden Inhalt ein und speichere die Datei ab. Beende Nano mit ctrl+x und bestätigen mit y[Unit] Description=Pin 21 und Masse kurzschliessen um Rpi herunterzufahren After=multi-user.target[Service] Type=idle ExecStart=/usr/local/bin/gpio-halt 21 &[Install] WantedBy=multi-user.targetMach das Script ausführbar. sudo chmod 644 /lib/systemd/system/gpio-halt.serviceFüge dein Script zum System-Manager systemd hinzusudo systemctl daemon-reload sudo systemctl enable gpio-halt.serviceStarte den Rasperry Pi neu um den Autostart zu testen. sudo rebootLass dir den Status des Service nach dem Neustart anzeigen. sudo systemctl status gpio-halt.serviceScript automatisch Starten (Raspbian Wheezy)Öffne die Datei rc.local mit dem Nano Texteditor. sudo nano /etc/rc.localFüge diese Zeile vor exit 0 ein und speichere die Änderung ab (ctrl+x). /usr/local/bin/gpio-halt 21 &Starte den Raspberry Pi neu. sudo rebootJetzt kannst du das herunterfahren testen, indem du die zwei letzten GPIO Pins mit einer Büroklammer, oder einem anderen stromleitenden Gegenstand verbindest. Zu beachten ist wenn du einen Raspberry Pi mit 26 GPIO Pins verwendest ist es GPIO7 + GND und bei einem Raspberry Pi mit 40 GPIO Pins ist es GPIO21 + GND. Das herunterfahren dauert ca. 5-15 Sekunden, dann kannst du die Stromversorgung entfernen. Die grüne Led sollte 10 mal blinken und dann anhalten. Vielen Dank an Adafruit für das shutdown script und an Raspberry Pi Pod für die englische Anleitung.

- 10 Oct, 2016
- 2 Min. Lesezeit
Mit PiBakery eigenes Raspbian Image/Installation zusammenklicken - Raspberry Pi
Du installierst Raspbian neu auf deinem Raspberry Pi und musst jedes mal die selben paar Aufgaben durchführen bis er startbereit ist. Mit PiBakery kannst du mit ein paar klicks dein eigenes Raspbian Image zusammenstellen. So ersparst du dir zum Beispiel folgende wiederholende Aufgaben…Wlan einrichten SSH konfigurieren Web-Server (Apache, PHP und Mysql) installieren jedes beliebe andere Programm VNC Server installierenPiBakery verändert nicht das Image, sondern erstellt ein Script. Dieses führt beim ersten booten die Veränderungen am Betriebsystem durch. Die Software ist Quelloffen auf Github zu finden. PiBakery verwendet Node.js, Electron für die UI und Google-Projekt Blockly. Nur zur Information für die Nerds unter euch. Keine Sorge um PiBakery zu verwendet ist es nicht wichtig.PiBakery kann für Mac und Windows heruntergeladen werden. Wundere dich nicht das es 1.6GB groß ist. Es enthält schon das aktuelle Raspbian Image.Starte PiBakery. Links siehst du die Kategorien für verschieden Aktionen, die du dann in das weiße Feld ziehen kannst. Als erstes musst du festlegen wann die Aktionen ausgeführt werden sollen. Du hast zwei Möglichkeiten On First Boot (beim ersten mal Booten), oder On every Boot (bei jedem Boot). Für die meisten Aktionen ist On First Boot die Wahl. Jetzt kannst du eine beliebige Aktion an den On First Boot Knoten hängen. Hier ein Beispiel wie es aussieht, wenn man ein Wlan Zugang vorkonfiguriert. Trage dein Wlan Namen unter Network ein und Passwort unter Pass. So einfach und schnell ohne viele Consolen Befehle. Hier eine Liste von allen Aktionen die zur Zeit möglich sind (es kommen stetig neu hinzu). Nach dem du fertig bist mit allen Aufgaben, klicke oben rechts auf Write und wähle deine SD-Karte. Achte darauf das du die richtige wählst, da alle Daten gelöscht werden Jetzt nur noch SD-Karte in den Raspberry Pi stecken, Strom dran und abwarten.Das schöne ist man kann sein zusammengestelltes "Image Rezept" abspeichern und teilen.

- 10 Sep, 2016
- 6 Min. Lesezeit
FHEM Geräte mit Amazon Dash Button schalten/steuern - raspberry pi home automation
In diesem Artikel haben ich erklärt, wie du IFTTT Aktionen mit dem Amazon Dash Button auslösen kannst. Durch abändern einer Zeile kannst du jedes beliebige FHEM Geräte schalten. Wie das funktioniert? Durch aufrufen einer URL (HTTP Post Request), kann man FHEM sagen das es etwas machen soll. So kannst du Lichter ein/aus schalten, Rollläden öffnen/schließen, Funksteckdosen ein/aus schalten und vieles mehr. Der Dash Button eignet sich nicht für alle Anwendungsfälle, da der Button eine Verzögerung von ca. 5-6 Sekunden hat, bis das FHEM Gerät geschalten wird. Was wird benötigt:Raspberry Pi oder Debian/Ubuntu Linux Rechner Amazon Dash Button laufendes FHEMHier ein Beispielvideo, wie mit einem Amazon Dash Button und FHEM eine Phillips Hue Lampe einschaltet. Vielen Dank an Hagen für das Video.Inhalt Variante 1: FHEM Modul dash_dhcpfunktioniert ohne zusätzliche Software FHEM Server kann per LAN-Kabel mit dem Netzwerk verbunden sein es können mehrere Amazon Dash Buttons eingebunden werdenAktualisiere dein FHEM, dass es auf dem neusten Stand ist und das Modul dash_dhcp installiert ist. Hier eine kurze Anleitung wie du ein Update Button in die Seitenleiste der FHEM Web-Oberfläche einbindest.Finde die MAC Adresse deines Amazon Dash Button heraus. Schau dazu in deinen Router. Ich habe einen Fritzbox. Dort sind alles WIFI Geräte unter WLAN -> Funknetz aufgelistet. Für Mac gibt es das kostenlose Programm LanScan.Öffne die FHEM Konfigurationsdatei fhem.cfg und füge folgenden Code hinzu. Ersetze die MAC Adresse hinter allowed mit der deines Dash Button. Du kannst mehrere MAC Adressen mit einem , getrennt hintereinander schreiben. Die MAC Adresse sollte in Kleinbuchstaben geschrieben werden.define DashButton dash_dhcp attr DashButton allowed ac:66:be:e3:fb:fe attr DashButton port 6767 attr DashButton room dashbuttondefine n_DashButton1 notify DashButton:ac-66-be-e3-fb-fe..short IF ([DeinFhemGeraet] eq "on") (set DeinFhemGeraet off) ELSE (set DeinFhemGeraet on) Ersetze im notify Befehl DeinFhemGeraet mit dem Namen deines FHEM Gerätes was du an/aus schalten möchtest und achte darauf das hier die MAC Adresse mit Bindestrichen geschrieben wird. Speichern nicht vergessen! Mehrere Dash Button kannst du mit einem Komma trennen.attr DashButton allowed ac:66:be:e3:fb:fe,ac:66:be:e3:fa:31Du musst noch die Daten vom Port 67 auf den Port 6767 weiterleiten. Die DHCP Anfragen kommen über den Port 67 rein und auf diesen Port hat nur ROOT Zugriffsrechte. FHEM wird standardmäßig nicht mit ROOT Rechten gestartet. Ist dein FHEM Server über eine WLAN Stick mit dem Netzwerk verbunden, dann gibt folgenden Befehl in den Terminal ein.sudo iptables -I PREROUTING -t nat -i wlan0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 Falls der FHEM Server über ein Netzwerkkabel verbunden ist, verwende folgenden Befehl.sudo iptables -I PREROUTING -t nat -i eth0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767Jetzt solltest du dein FHEM Gerät mit dem Amazon Dash Button ein und ausschalten können. Um zu Prüfen ob der Dash Button von FHEM erkannt wird, kannst du in der FHEM Weboberfläche links auf Event monitor klicken. Nach dem drücken des Dash Button, sollte dash_dhcp DashButton ac-66-be-e3-fb-fe: short erscheinen. Die Umleitung der Ports mittels iptables muss nach einem Neustart neu eingerichtet werden. Installieren das Programm iptables-persistent, damit die Portumleitung nach einem Neustart automatisch geladen wird.sudo apt-get update && sudo apt-get install -y iptables-persistent Während der Installation von iptables-persistent werden ein paar Einstellungen abgefragt. Bestätige alle mit JA. Jetzt kannst du die Portumleitung für den Dash Button in die rules.v4 Datei schreiben. sudo nano /etc/iptables/rules.v4 Füge die Umleitung vor dem letzten COMMIT ein. (Netzwerkkabel)-I PREROUTING -t nat -i eth0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 (WIFI Stick)-I PREROUTING -t nat -i wlan0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 Beende den Nano Editor mit ctrl+x und bestätige das Speichern. Nach einem Neustart sudo reboot wird die Datei rules.v4 automatisch geladen und die Portumleitung sollte funktionieren. ALTERNATIVE Falls die Weiterleitung über die rules.v4 Datei nicht funktioniert, hier eine alternative Variante. Öffne die /etc/rc.local Datei. Diese wird bei jedem Neustart ausgeführt.sudo nano /etc/rc.local und füge den Befehl für die Weiterleitung vor exit 0 ein. (Netzwerkkabel)sudo iptables -I PREROUTING -t nat -i eth0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 (WIFI Stick)sudo iptables -I PREROUTING -t nat -i wlan0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767Variante 2: mit NodeJS und DasherFHEM Server kann per LAN-Kabel mit dem Netzwerk verbunden sein es können mehrere Amazon Dash Buttons eingebunden werden flexibel da per HTTP GET und POST Request andere Service wie Zapier oder IFTTT "angepingt" werden können.- zusätzliche Software erforderlichAls erstes werden die Paketlisten neu eingelesen und installieren die benötigten Programme git & libpcap-dev. sudo apt-get update && sudo apt-get install libpcap-dev Du benötigst des weiteren die aktuelle Version von Node.js (v6.5.0). Ausführliche Anleitung Node.js Quelle zu deinen Paketlisten hinzufügen. curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - Jetzt kannst du Node.js installieren. sudo apt-get install -y nodejsAls nächstes kannst du das Node.js Programm "Dasher" herunterladen und installieren. Navigiere mit cd ~/ in dein Home-Verzeichnis und kopiere Dasher von Github. git clone https://github.com/maddox/dasher.git Navigiere in das Dasher Verzeichnis cd dasher Jetzt müssen noch die von Dasher benötigten Programme/Dependencies installiert werden. npm installDasher benötigt die MAC Address von deinem Dash Button. Diese kannst du einfach herausfinden. Log dich in dein Router ein und schau unter verbundene Geräte. Du kannst auch das mitgelieferte Programm "find_button" verwenden. script/find_button Drück nach dem Start von "find_button" den Dash Button. Es sollte dir die MAC-Adresse angezeigt werden. Kopiere dir die MAC-Adresse und beende das Programm mit ctrl+c am Mac, oder strg+c bei Windows.Jetzt musst du nur noch die URL in der Dasher config/config.json Datei nach deinen Wünschen anpassen. nano config/config.json{"buttons":[ { "name": "Dash1", "address": "ac:61:b3:e1:fa:fe", "url": "http://127.0.0.1:8083/fhem?cmd=set%20DashButton1%20toggle", "method": "POST", "json": true, "body": {"value1": "any value", "value2": "another value"} } ]} Die IP 127.0.0.1 zeigt immer auf den Lokalen Rechner (also ihn selbst). Alternativ kannst du auch http://localhost:8083/fhem?cmd=set%20DashButton1%20toggle schreiben.Starte Dasher und drück den Knopf um zu testen ob alles funktioniert. Wenn alles funktioniert, sollte im Terminal „Dash1 pressed“ stehen. Dasher und dein Dash Button funktionieren. Jetzt kannst du FHEM konfigurieren. Mit ctrl+c kannst du das Programm beenden. sudo npm run startFHEM für den Dash Button konfigurieren Öffne die FHEM Konfigurationsdatei fhem.cfg und füge folgenden Code hinein. Definiere in FHEM einen Dummy für den Dash Button. Hier eine gute Einsteigerhilfe.define DashButton1 dummy attr DashButton1 webCmd toggleErstelle ein notify der dein FHEM Gerät ein/aus schaltet. Ersetze DeinFhemGeraet durch den Namen deines FHEM Gerätes. Speicher die cfg Datei. Falls du Dasher geschlossen hast, starte es mit sudo npm run start und drück den Dash Button.define n_DashButton1 notify DashButton1.* IF ([DeinFhemGeraet] eq "on") (set DeinFhemGeraet off) ELSE (set DeinFhemGeraet on) Erklärung: Der Dummy DashButton1 wird define n_DashButton1[Name des Notify] notify[der Befehl] DashButton1.*[wenn eine Änderung des Dummy Reading, dann] IF ([DeinFhemGeraet] eq "on") [überprüfe ob Reading von DeinFhemGeraet gleich on ist, dann] (set DeinFhemGeraet off) [setze DeinFhemGeraet Reading auf off] ELSE (set DeinFhemGeraet on) [andernfalls setze DeinFhemGeraet Reading auf on] Um den Dash Button als Ausschalter für mehrere FHEM Geräte zu konfigurieren, verwende diese Konfiguration. Ersetze wieder DeinFhemGeraet1 und DeinFhemGeraet1 mit dem FHEM Gerätenamen. Du kannst so viele Geräte hintereinander schreiben. Sie müssen nur immer mit ;; getrennt werden.define n_DashButton1 notify DashButton1.* set DeinFhemGeraet1 off;; set DeinFhemGeraet1 offDasher Autostart einrichten Nach jedem Neustart musst du das Dasher Programm von Hand starten. Richte ein Init Script für Dasher ein, damit Dasher als Service im Hintergrund läuft und bei einem Neustart gestartet wird. Anleitung Hier sieht man ungefähr wie die Reaktionszeit ist. Auf blog.moneybag.de gibt es eine andere Variante die nicht mit dem ARP Request funktioniert, sondern mit LAN-PING.
- 09 Sep, 2016
- 2 Min. Lesezeit
Node.js App mit Init Script beim Neustart/Reboot automatisch starten - linux raspberry pi daemons
Du möchtest ein Node.js Script, oder einen CMD Befehl bei Hochfahren/Neustart/Reboot automatisch ausführen, dann bist du hier genau richtig. Nach dem Laden des Linux-Kernels wird als erstes Programm überhaupt das Programm init gestartet. Dieses Programm startet alle weiteren Programme. Welche das sind, wird über die Skripte im Verzeichnis /etc/init.d/ bestimmt. Der Vorteil gegenüber der /etc/init.d/ Variante ist, das du das Script über die Kommandozeile Neustarten, Stoppen und Starten kannst. Erstell ein Init Script für "dasher" (dasher ist nur ein Beispielname, du kannst ihn nach belieben verändern). sudo nano /etc/init.d/dasherKopiere den Inhalt dieses Init Script Templates. Mehr Informationen über diese Template findest du hier.Füge hinter Provides: den Scriptnamen ein und pass diese 3 Variablen (dir, cmd und user) am Anfang des Script an. Bei cmd kannst du jeden beliebigen Befehl eintragen den du auch im Terminal ausführen kannst. So kannst du beim Neustart einen beliebigen Befehlt ausführen lassen. #!/bin/sh ### BEGIN INIT INFO # Provides: dasher # Required-Start: $network $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFOdir="/home/pi/dasher" cmd="node app.js" user="root" … beende den Nano Texteditor mit ctrl+x am Mac, oder strg+x bei Windows und speichere die Änderung mit y.Ändere die Rechte des Init Script, um es ausführbar zu machen. sudo chmod 755 /etc/init.d/dasherAktiviere den dasher Dienst/Service (ersetze den Namen "dasher" mit dem Namen den du in Schritt 3 hinter Provides: geschrieben hast) sudo update-rc.d dasher defaultsBeim nächsten Neustart/Reboot wird das Script mit ausgeführt. Um es manuell zu starten kannst du folgenden Befehl verwenden. sudo /etc/init.d/dasher start Script stoppen sudo /etc/init.d/dasher stop Script neustarten sudo /etc/init.d/dasher restart Anstatt sudo /etc/init.d/dasher restart kannst du auch sudo service dasher restart schreiben.Um zu prüfen ob das Script läuft gib diesen Befehl ein/etc/init.d/dasher statusDie Logdateien kannst du dir wie folgt live ausgeben lassen.tail -f /var/log/dasher.log tail -f /var/log/dasher.err

- 04 Sep, 2016
- 4 Min. Lesezeit
IFTTT Aktionen mit Amazon Dash Button auslösen - raspberry pi linux
Amazon hat letzte Woche endlich den Amazon Dash Button in Deutschland released. Was ist der Dash Button? Ein kleiner Knopf (ca. 6cm) der mit deinem Wlan verbunden wird. Per Knopfdruck kannst du dann ein bestimmtes Produkt über Amazon bestellen. Das hört sich erstmal nicht sehr spannend bzw. nützlich an. Wie wäre es, wenn du mit dem Knopf eine beliebige IFTTT Aktion triggern kannst. Wer IFTTT nicht kennt. Dort kannst du ein Auslöser(trigger) und eine Aufgabe festlegen, die dann ausgeführt werden soll. Ein Beispiel wäre, speichere alle Facebook-Bilder auf denen du getagt wurdest in deiner Dropbox. Update: 04.11.2016 Ifttt hat seinen Service komplett umgestellt. Recipe heißen jetzt Applets und Benutzer können zur Zeit keine eigenen erstellen. Was sehr sehr schade ist. :( Falls es wieder möglich ist eigene Maker Recipe/Applets zu erstellen, werde ich die Anleitung aktualisieren. In diesem Beitrag zeige ich dir, wie du den Dash Button mit deinem Wifi einrichtest ohne das ein Produkt bestellt wird und Installieren das Programm Dasher, das dann eine IFTTT Aktion triggert. Die Anleitung funktioniert mit einem Raspberry Pi, oder auch einem Debian/Ubuntu Linux Rechner. Wichtig ist noch, dass es bis jetzt zwei verschiedene Modelle des Amazon Dash Button gibt (Modelnr. neu JK29LP, alt JK76PL). Diese Anleitung funktioniert nur mit dem neuen Model. Wenn ihr jetzt ein Dash Button bei Amazon bestellt ist es die neue Version. Der Dash Button muss mit deinem Wifi verbunden werden. Dazu benötigst du ein Smartphone mit Bluetooth. Schalte Bluetooth ein und öffne die normale Amazon App. Hier ein kurzes Video von diesem Ablauf. Wichtig ist am Ende kein Produkt auszuwählen, da du sonst mit jedem Knopfdruck das Produkt bestellst.Jetzt kommen wir zum Teil der im Terminal ausgeführt wird. Dazu musst du eine SSH Verbindung zum Raspberry Pi/Linux Rechner herstellen.Als erstes werden die Paketlisten neu eingelesen und installieren die benötigten Programme git & libpcap-dev. sudo apt-get update && sudo apt-get install git libpcap-devDu benötigst des weiteren die aktuelle Version von Node.js (v6.5.0). Ausführliche Anleitung Node.js Quelle zu deinen Paketlisten hinzufügen. curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - Jetzt kannst du Node.js installieren. sudo apt-get install -y nodejsAls nächstes kannst du das Node.js Programm "Dasher" herunterladen und installieren. Navigiere mit cd ~/ in dein Home-Verzeichnis und lade/clone Dasher von Github. git clone https://github.com/maddox/dasher.git Navigiere in das Dasher Verzeichnis cd dasher Jetzt müssen noch die von Dasher benötigten Programme/Dependencies installiert werden. npm installDasher benötigt die MAC Address von deinem Dash Button. Diese kannst du einfach herausfinden. Log dich in dein Router ein und schau unter verbundene Geräte. Du kannst auch das mitgelieferte Programm "find_button" verwenden. script/find_button Drück nach dem Start von "find_button" den Dash Button. Es sollte dir die MAC-Adresse angezeigt werden. Kopiere dir die MAC-Adresse und beende das Programm mit ctrl+c am Mac, oder strg+c bei Windows.Jetzt muss du noch Dasher konfigurieren. Erstelle eine config.json Datei im Ordner config. nano config/config.json Kopiere folgenden Code hinein und ersetze die MAC-Adresse und dein IFTTT Maker Chanel Key.{"buttons":[ { "name": "Dash1", "address": "MAC-Adresse-Deines-Dash-Button", "url": "https://maker.ifttt.com/trigger/dashbutton/with/key/Dein-Ifttt-Maker-Key", "method": "POST", "json": true, "body": {"value1": "any value", "value2": "another value"} } ]}Erstelle eine IFTTT Recipe mit IFTTT Maker Chanel als Trigger. Die Aktion kannst du frei wählen. Ich verwende im Beispiel Pushbullet als Aktion. Du musst darauf achten, dass bei Schritt 3 als "Event Name" dashbutton eingetragen wird. Das hast du mit der erstellten config Datei festgelegt "url": "https://maker.ifttt.com/trigger/dashbutton/with/key/dhROi2qDmIo693c$. Wenn du weitere Dash Buttons mit IFTTT verbinden willst, müssen sich die url's unterscheiden (dashbutton1, dashbutton2, …).Starte Dasher und drück den Knopf um zu testen ob alles funktioniert. Wenn alles funktioniert, sollte im Terminal "Dash1 pressed" stehen und deine zuvor erstellte IFTTT Aktion ausgeführt werden. In meinem Fall eine Pushnachricht auf mein iPhone über Pushbullet. sudo npm run start Mit ctrl+c am Mac, oder strg+c bei Windows kannst du das Programm beenden. Wenn man den Terminal schließt, wird auch Dasher beendet. Im nächsten Artikel werde ich beschreiben, wie das Dasher Programm beim Start mit ausgeführt wird und so immer im Hintergrund mit läuft (autostart Node.js Script). Ich bin gespannt welche Aufgaben sich damit umsetzen lassen. Schreibt euer IFTTT Recipe in die Kommentare.

- 25 Feb, 2015
- 2 Min. Lesezeit
Raspberry Pi: Festplatte automatisch in den Standby/Ruhemodus schalten mit hdparm
Ein Beispiel wie ihr die Festplatte nach einer vorgegeben Zeit in den Standby/Ruhemodus versetzt. Das spart Strom und schont die Festplatte im Dauer-/Serverbetrieb. Voraussetzung:USB Festplatte im System eingebunden/mounted (Anleitung)Als erstes aktualisierst wir die Paketlisten von Raspbian und installierst hdparm. sudo apt-get update && sudo apt-get -y install hdparmUm herauszufinden unter welchen Namen die Festplatte im System läuft, geben wir folgenden Befehl ein. In unserem Beispiel ist es /dev/sda sudo fdisk -lWir überprüfen den aktuellen Power-Mode-Status. Falls ihr den Status unknown zurück bekommt lässt sich die Festplatte nicht in Standby versetzen. sudo hdparm -C /dev/sda "-C zeigt den aktuellen „Power-Mode-Status“ einer IDE-Festplatte an. Dieser kann folgende Werte annehmen: „unknown“ - Das Laufwerk unterstützt dieses Kommando nicht; „active“/„idle“ - Normalbetrieb; „standby“ - Low Power Modus, die Festplatte dreht sich nicht oder „schläft“ sogar komplett. Die Optionen -S, -y, -Y und -Z können zur Veränderung der IDE-Power-Modes verwendet werden. " wiki.debianforum.deMit dem Parameter -y versetzen wir die Festplatte in den Standby Modus. Die Festplatte sollte jetzt kein Geräusch mehr von sich geben. Ihr könnte aber auch mit sudo hdparm -C /dev/sda überprüfen ob sich die Festplatte im standby befindet. Sobald auf die Festplatte zugegriffen wird, läuft sie wieder an. sudo hdparm -y /dev/sdaWir benötigen die UUID der Festplatte. Gebt folgenden Befehl in die Console ein und notiert euch die UUID der Festplatte. sudo blkidÖffnet die hdparm config Datei mit dem Nano Texteditor. sudo nano /etc/hdparm.conf Ersetzt deineUUID mit eurer zuvor notierten UUID und fügt den Text am Ende der Datei ein. Beendet den Nano Editor nach dem einfügen mit Strg+x (Win) ctrl+x (Mac) und bestätige die Änderung mit y oder j (je nach Spracheinstellung)./dev/disk/by-uuid/deineUUID { spindown_time = 240 } Die Zahl hinter spindown_time gibt an wann die Festplatte in den Ruhezustand gehen soll. Wählt die Zeit nicht zu kurz, da ständiges anfahren der Festplatte dem Motor/Mechanik schadet. 0 = Ruhezustand deaktiviert 60 = 5Min (60*5Sek=300Sek=5Min) 240 = 20Min (240*5Sek=1200Sek=20Min) Ab 240 ändert sich die Berechnung! 241 = 30Min (1*30Min) 242 = 60Min (2*30Min)Führt einen Neustart durch. Danach geht die Festplatte zu der Eingestellten Zeit automatisch in den Standby/Ruhemodus. sudo reboot
- 08 Feb, 2015
- 1 Min. Lesezeit
FHEM 5.8 auf dem Raspberry Pi oder Debian installieren
Was ist FHEM? FHEM ist ein in perl geschriebener Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.B. Lampen, Rollläden, Heizung und vieles mehr schalten, oder Ereignisse wie Temperatur, Feuchtigkeit, Stromverbrauch protokollieren und visualisieren. Für weitere Ideen siehe diesen Link. Optional: sudo raspi-configMenüeintrag Expand Filesystem auswählendanach Internationalisation Options -> Change Timezone und Zeitzone für den aktuellen Standpunkt auswählen (wichtig für die korrekte Zeitangabe in FHEM)Jetzt kommen wir zur installation von FHEMaktualisieren des Systemssudo apt-get update && sudo apt-get upgrade -ybenötigte Pakete installieren sudo apt-get -f install && sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl -yaktuelle FHEM Version herunterladen und installieren (5.8 mit der aktuellsten Versionsnummer ersetzen http://fhem.de/fhem.html#Download) sudo wget http://fhem.de/fhem-5.8.deb && sudo dpkg -i fhem-5.8.debInstallationsdatei löschen sudo rm fhem-5.8.debZugriffsrechte für den Ordner fhem setzencd /opt sudo chmod -R a+w fhemdem aktuellen Benutzer und fhem der Gruppe tty hinzufügen um Lese/Schreibrechte für dieses Gerät zu geben (später wichtig wenn Empfänger per USB angeschlossen werden wie z.B. CUL)sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem pi durch den aktuell verwendeten Benutzernamen ersetzen. Mit dem Befehlt whoami könnt ihr euch den Namen anzeigen lassen.im Browser http://192.168.x.y:8083/fhem/ (xy mit der IP des Raspberry ersetzten) aufrufen und das FHEM Webinterface sollte erscheinenTipp: Nach der Neu Installation von FHEM ist die FHEM Konfigurationsdatei "fhem.cfg" schreibgeschützt und kann nicht verändert werden. In diesem Artikel beschreibe ich, wie du den Schreibschutz aufheben kannst. https://wordpress-x0o8gcg88www8k084ks8k088.c.benroe.de/fhem-konfigurations-datei-fhem-cfg-kann-nicht-bearbeitet-werden/

- 24 Sep, 2014
- 1 Min. Lesezeit
Uhrzeit des Sonnenaufgang/ Sonnenuntergang in FHEM anzeigen
In diesem Tutorial zeige ich dir, wie du die Uhrzeit des Sonnenaufgang und Sonnenuntergang in FHEM anzeigen lassen kannst. Voraussetzung: - eine laufende FHEM Version Öffnet die Konfigurationsdatei (fhem.cfg) von FHEM.Fügt folgende Globale Attribute hinzu um euren Standort festzulegen. attr global latitude 51.345753 attr global longitude 12.38213 Ersetzt die latitude und longitude Angaben mit eurem Standort. Hier könnt ihr die dezimal Werte für eueren Standort herausfinden.Um die Werte für Sonnenauf- und Sonnenuntergang zu speichern, erstellen wir zwei Dummy’s define Sonnenaufgang dummy define Sonnenuntergang dummyDa die Werte jeden Tag nach 0Uhr neu generiert werden müssen, erstellen wir folgende Funktion define sun_riseSet_timer at *00:05:00 { my $s = sunrise();; fhem("set Sonnenaufgang $s");; $s = sunset();; fhem("set Sonnenuntergang $s");; } Jeden Tag um 0:05Uhr wird die Uhrzeit für die nächsten Sonnenaufgang/Sonnenuntergang den Dummy’s zugewiesen.Nun weisen wir den Dummy’s noch den Raum Wetter zu. attr Sonnenaufgang room Wetter attr Sonnenuntergang room WetterAm Ende müsste euer hinzugefügter Code so aussehen.attr global latitude 51.339695 attr global longitude 12.373075############## Sunrise/Sunset ###################define Sonnenaufgang dummy attr Sonnenaufgang room Wetterdefine Sonnenuntergang dummy attr Sonnenuntergang room Wetterdefine sun_riseSet_timer at *00:05:00 { my $s = sunrise();; fhem("set Sonnenaufgang $s");; $s = sunset();; fhem("set Sonnenuntergang $s");; }Wenn ihr einen bestimmten Helligkeitsgrad des Sonnenaufgang/Sonnenuntergang wissen möchtet könnt ihr folgende Befehle verwenden. sunrise("REAL"); #Sonne geht am Horizont auf oder unter sunrise("CIVIL"); #Sonne ist hinter dem Horizont, aber es ist noch Hell sunrise("NAUTIC") #Umrisse können noch gegen den Horizont wahrgenommen werden (z.B auf dem Meer) sunrise("ASTRONOMIC") #es ist komplett dunkelWeiter Informationen zu sunrise() findet ihr auf der Commandref Seite. Habt ihr Fragen oder Anregungen hinterlasst ein Kommentar