Belkin bringt gerade wieder neue WeMo-Modelle auf den Markt.
(siehe z.B.: http://www.heise.de/newsticker/meldung/Belkin-Lichtsteuerung-Bastler-Kit-und-Netz-Kochtopf-fuer-Heimautomatisierung-WeMo-2076889.html)
Die sind zwischenzeitlich recht verbreitet.
.. wär' doch nett, wenn man die auch mit FHEM ansteuern könnte.
Es gibt sogar schon eine Perl-API: https://github.com/ericblue/Perl-Belkin-WeMo-API ;-)
(Ich kenn' mich - noch - zu schlecht mit der FHEM-Programmierung aus, sonst würd' ich es selbst machen ...)
Hallo zusammen,
ich habe gestern den aktuellesten Stand von github runter geladen, installiert und auf meinem RaspPi in FHEM integriert. Funktioniert.
Wie ging's? Die Kurzfassung:
- ssh session zum RaspPi aufbauen
- ggf. sudo su -
- wget https://github.com/ericblue/Perl-Belkin-WeMo-API/archive/master.zip
- unzip master.zip
- cd Perl-Belkin-WeMo-API-master
- apt-get install cpanminus
- dzil authordeps | cpanm
- ./build.sh
- cd lib
- cp -pvr WebService /usr/local/share/perl/5.14.2/
Die echte Installation verlief nicht ganz so glatt, da mir cpanm fehlte.
Dazu gibt es dann die Scripte
wemoon.pl#!/usr/bin/perl
BEGIN { push( @INC ); }
use WebService::Belkin::WeMo::Device;
use WebService::Belkin::WeMo::Discover;
use Data::Dumper;
use strict;
my ($mywemo);
$mywemo = shift || 'localhost';
my $wemo = WebService::Belkin::WeMo::Device->new(ip => $mywemo, db => '/etc/belkin.db');
print "Turning on...\n";
$wemo->on();
sowie
wemooff.pl#!/usr/bin/perl
BEGIN { push( @INC ); }
use WebService::Belkin::WeMo::Device;
use WebService::Belkin::WeMo::Discover;
use Data::Dumper;
use strict;
my ($mywemo);
$mywemo = shift || 'localhost';
my $wemo = WebService::Belkin::WeMo::Device->new(ip => $mywemo, db => '/etc/belkin.db');
print "Turning on...\n";
$wemo->off();
Die liegen bei mir unter /home/scripts.
Wer die IP-Adresse seines Switches nicht kennt kann die im Unterverzeichnis ~/Perl-Belkin-WeMo-API-master/examples mitgelieferte Script
scan.pl verwenden.
In der
fhem.cfg sieht's dann so aus
define WemoSwitch FS20 11114444 aa
attr WemoSwitch dummy 8
attr WemoSwitch room Dachstudio
define wemo01 notify WemoSwitch {\
if ("%" ne "off") {\
system("sudo /home/scripts/wemoon.pl 192.168.3.141")\
}\
else {\
system("sudo /home/scripts/wemooff.pl 192.168.3.141")\
}\
}
attr wemo01 icon light_light_dim_100
Ciao,
Peter
Nur weil ich gerade dran herumgespielt habe: Für eine frische installation fehlt noch "sudo apt-get install libdist-zilla-perl" um dzil zu installieren und die lib::local zu installieren. Leider läuft der Build trotzdem nicht durch "aborting; duplicate files would be produced at /home/pi/perl5/lib/perl5/Dist/Zilla/App/Command/build.pm" - das scheint mir aber ein Fehler der Sourcen zu sein? Wie auch immer...