AirPlay to Sonos Speakers

If you happen to own some Apple devices and some Sonos speakers, you may have expected to be able to airplay directly from the devices to the speakers or at least that Sonos will enable that functionality with a firmware update in near future. Unfortunately this hasn’t happened so far and Sonos owner are stuck with the clumsy Sonos Controller software 🙁

Anyway, there has been a way to bridge AirPlay and Sonos for quite some time, called airsonos, but it stopped working with OS X El Capitan and iOS 9 because Apple switched to ALAC encoding their AirPlay streams. Fortunately, thanks to @microadam, nodetunes now supports ALAC decoding and airsonos works again. Here is a short recipe how to install airsonos on a linux box and how to use your Sonos speakers like they should have been usable in the first place:

Now you can see if it starts up correctly and finds your Sonos speakers:

In case everything worked out okay, you can run airsonos as a service and start it automatically when booting. To do this, first create a new file /etc/systemd/system/airsonos.service

with the following content:


[Unit]
Description=Start airsonos server
[Service]
Type=simple
ExecStart=/usr/local/bin/airsonos
[Install]
WantedBy=multi-user.target

Enable the newly created service:

Start the service:

Check it status with:

Steuern sparen bei der Wartung und Reparatur ihrer IT- Infrastruktur

Auch für Privatleute sind Wartung und Reparatur ihrer Informations- und Telekommunikationinfrastruktur von der Steuer absetzbar!

Nach EStG § 35a Abs. 3 sind die Arbeitskosten für Wartung und Reparaturen zu 20 % von der Einkommenssteuer abzugsfähig, bis zu einer Höchstgrenze von 1200 €. Laut BMF-Schreiben 2014 gilt dies insbesondere auch für Reparatur, Wartung und Pflege von Gegenständen im Haushalt des Steuerpflichtigen (z. B. Personalcomputer und andere).

BMF Schreiben 2014

Dies gilt allerdings nur wenn die Reparatur zu Hause, d.h. vor Ort und nicht in unserer Fachwerkstatt erfolgt. Als Arbeitskosten sind dabei alle Aufwendungen für die Inanspruchnahme der Dienstleistungen selbst einschließlich der in Rechnung gestellten Werkzeug- und Fahrtkosten und der Umsatzsteuer zu verstehen. Zu beachten ist, dass nur unbare Zahlungen, d.h. Überweisungen auf unser Konto vom Finanzamt anerkannt werden können (BFH, Urteil vom 20. November 2008, BStBl 2009 II Seite 307).

Pair Phillips LivingWhites Luminaire Control Plug with HueBridge

I wanted to control my Phillips LivingWhites Luminaire Control Plug with Fhem, sadly the manual doesn’t even say a single word on how to hook it up to the HueBridge. Fortunately there is a little app called LampStealer doing exactly this. So here is what to do:

1. Download the LampStealer app
2. Unzip it
3. Run the LampStealer.app
4. Click „find bridge“ and select your bridge
5. Make sure your plug is really close to your bridge and click „start linking“

Bildschirmfoto 2014-10-10 um 10.12.00

Now it should already show up in your hue app and can be used in Fhem with:

where 5 is the id of the plug on the HueBridge.

The id’s of the devices on the HueBridge can be shown with:

Pushover message on motion event

sudo mkdir /home/motion
sudo nano /home/motion/pushover.sh
#!/bin/bash
curl -s \
-F "token=xxx" \
-F "user=xxx" \
-F "device=xxx" \
-F "title=$1" \
-F "message=$2" \
https://api.pushover.net/1/messages

sudo chmod +x /home/motion/pushover.sh
sudo nano /etc/motion.conf and edit line
; on_movie_end value
to
on_movie_end ~/pushover.sh Bewegungsmeldung „Eine Bewegung wurde festgestellt.“

Fix Homebrew .gitignore Permission denied

This morning when updating my brew, I was greeted by the following error:

This can be fixed by:

Fhem über UMTS updaten

Wegen den längeren Latenzzeiten von UMTS im Vergleich zu DSL scheitert ein Fhem Update über UMTS/3G typischerweise mit der Fehlermeldung:
Can't get controlfile from http://fhem.de/fhemupdate4/svn/controls_fhem.txt

Ein Erhöhung des Timeouts in den HttpUtils brachte bei mir leider keine Abhilfe. Alternativ dazu kann das Fhem per SVN upgedatet werden. Dazu falls nötig zuerst Subversion installieren, Fhem per shutdown herunterfahren und den aktuellen trunk auschecken:

Ein Update kann nun in Zukunft ganz einfach per SVN durchgeführt werden:

Solve OS X Prohibited Sign Boot Issue

Recently, I used my MacBook Pro to the end of its battery life and closed it shortly before the battery died. Something must have gone wrong there because when charging and awaking it, the touchpad ceased to work and logon didn’t work. Thus I cold rebooted it and was greeted by a nasty prohibited sign.

OS X Prohibited Sign

Unfortunately, Apple’s own recommendations did not solve the issue, so here is my solution:

Boot into the recovery partition by holding cmd+R at startup and open the terminal.
then

For me this looked like:

start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 409606
409640 916361264 1 GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
916770904 1269536 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
918040440 136
918040576 59064320 3 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
977104896 131
977105027 32 Sec GPT table
977105059 1 Sec GPT header

Apparently the GUID partition table got corrupted at index 1.

To fix this, first unmount the disk:

Remove the corrupt entry:

unmount the disk again:

If the partition was a normal HFS+ partition:

or for an encrypted partition as mine:

Now your partition table should be fixed. In disk utility, unlock your drive if its encrypted. Then repair the volumes and access rights as usual. For me disk utility still complains about a missing EFI Partition, but this is likely due to my refind boot loader.

Update:

After this procedure my recovery partition showed up on my desktop, you can hide it again with:

dblog auf Fhem einrichten

Mit der Zeit sammeln sich selbst in kleinen und mittleren Fhem Installationen viele Messwerte in den verschiedenen Logdateien. Dies ist nicht unübersichtlich sondern erschwert auch die nachträgliche Auswertung. Daher bietet es sich an, diese Messwerte gleich in einer Datenbank zu speichern. Dazu gibt es das Modul dblog dessen Einrichtung hier kurz skizziert werden soll.

Update fhem und falls erwünscht das charting frontend:
update
update thirdparty http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend frontend

Installiere sqlite und Perl plugins:

Alternativ könnten auch MySQL oder PostgreSQL verwendet werden, dazu müssten dann natürlich die entsprechenden Perl Module installiert werden.

und fügen Sie folgende Tabellen hinzu:

CREATE TABLE history (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));

CREATE TABLE current (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));

CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);

mit .tables können Sie überprüfen ob die drei Tabellen (current, history, frontend) korrekt angelegt wurden, mit .exit können sie die Datenbankshell wieder schließen.

Stellen Sie sicher dass Fhem Schreibzugriff auf die Datenbank hat:

Editieren Sie die db.conf:

und fügen Sie folgendes hinzu:

%dbconfig= (
connection => "SQLite:dbname=/opt/fhem/fhem.db",
user => "",
password => ""
);

SSH Access with certificates

To easily access all your computers you may want to authenticate yourself with certificates.

On a Mac, first install the missing ssh-copy-id:

Then you can copy your public key to the ssh hosts you frequently need by:

You may get this warning if the host already is in known hosts:
Warning: the RSA host key for 'panda' differs from the key for the IP address '10.152.196.248'
Offending key for IP in /Users/tatsch/.ssh/known_hosts:19
Matching host key in /Users/tatsch/.ssh/known_hosts:24
Are you sure you want to continue connecting (yes/no)? yes

If that happens, simply delete the offending lines by

and ctrl + K to delete the whole line