Autor Thema: Modul für Belkin WeMo Geräte  (Gelesen 3559 mal)

Offline Borkk

  • Full Member
  • ***
  • Beiträge: 106
Modul für Belkin WeMo Geräte
« am: 03 Dezember 2013, 22:41:48 »
Hallo Zusammen,

der Wunsch ist nicht neu und es gab ja auch schon mal Aktivitäten hier im Forum dazu.
http://forum.fhem.de/index.php/topic,7335.msg33471.html#msg33471

Hat denn jemand diese 29_Wemo.pm schon mal gesehen bzw. sogar im Einsatz?
----------
Raspi2#1: FHEM 5.8
Raspi2#2: ReverseProxy/CA
Raspi2#3: Homebridge & Alexa Bridge
HMLAN; HUE2; Netatmo; Withings; Squeezbox; Pushover; Jawbone; Pioneer; LG; Harmony, FritzBox, Tado°, div. Homematic Akt- und Sensoren, uvm...

Offline plin

  • Developer
  • Full Member
  • ****
  • Beiträge: 134

Offline Borkk

  • Full Member
  • ***
  • Beiträge: 106
Antw:Modul für Belkin WeMo Geräte
« Antwort #2 am: 20 Januar 2015, 18:33:42 »
Danke, ich habe inzwischen alle WeMo Geräte verkauft und durch Homematic Devices ersetzt.
----------
Raspi2#1: FHEM 5.8
Raspi2#2: ReverseProxy/CA
Raspi2#3: Homebridge & Alexa Bridge
HMLAN; HUE2; Netatmo; Withings; Squeezbox; Pushover; Jawbone; Pioneer; LG; Harmony, FritzBox, Tado°, div. Homematic Akt- und Sensoren, uvm...

Offline plin

  • Developer
  • Full Member
  • ****
  • Beiträge: 134
Antw:Modul für Belkin WeMo Geräte
« Antwort #3 am: 22 Januar 2015, 19:10:18 »
Hallo,

ich habe mittlerweile etwas gebastelt:

98_wemo.pm

##############################################
package main;

BEGIN { push( @INC ); }

use strict;
use warnings;
use IO::Socket::INET;
use Switch;

use WebService::Belkin::WeMo::Device;
use WebService::Belkin::WeMo::Discover;
use Data::Dumper;

sub
wemo_Initialize($)
{
  my ($hash) = @_;

  $hash->{SetFn}     = "wemo_Set";
  $hash->{DefFn}     = "wemo_Define";
  $hash->{AttrList}  = "remote_ip";
#print "##### Init #####\n";
#print Dumper $hash;
}

###################################
sub
wemo_Set($@)
{
  my ($hash, @a) = @_;
  my $rc = undef;

  return "no set value specified" if(int(@a) < 2);
  return "on off" if($a[1] eq "?");

  shift @a;
  my $command = shift @a;

  Log 3, "wemo command: $command";

  $rc = commitwemo($hash, $command);

  if ($rc) {
     $hash->{CHANGED}[0] = $command;
     $hash->{STATE} = $command;
     $hash->{READINGS}{state}{TIME} = TimeNow();
     $hash->{READINGS}{state}{VAL} = $command;
  };

  return undef;
}

sub
wemo_Define($$)
{
  my ($hash, $def) = @_;
  my @a = split("[ \t][ \t]*", $def);

  return undef;
}


sub commitwemo
{
  my ($hash, $onoff) = @_;
  my $name   = $hash->{NAME};
  #my $param = $onoff ? "on" : "off";
  my $remote_ip = AttrVal($name, "remote_ip", '127.0.0.1');
  my ($mywemo);

  # flush after every write
  $| = 1;

  my $wemo = WebService::Belkin::WeMo::Device->new(ip => $remote_ip, db => '/etc/belkin.db');

  if($onoff eq "on")
  {
    $wemo->on();
  }
  if($onoff eq "off")
  {
    $wemo->off();
  }

#print "##### Set #####\n";
#print Dumper $hash;

  return 1;
}

1;

Den Doku-Teil muss ich noch anpassen.

Voraussetzung: Die Perl-Belkin-WeMo-API-master installieren wie im vorherigen Posting verlinkt.

Syntax in der fhem.cfg:

define WemoTest wemo
attr WemoTest room z_frei
attr WemoTest remote_ip 192.168.3.141
attr WemoTest icon light_light_dim_100

Mein aktuelles Problem: Ich würde gerne beim FHEM-Start automatisch den aktuellen Status des WeMo-Switches auslesen - aber wie???

Viele Grüße
Peter
« Letzte Änderung: 22 Januar 2015, 19:48:25 von plin »

abrocker

  • Gast
Antw:Modul für Belkin WeMo Geräte
« Antwort #4 am: 02 Mai 2016, 17:03:38 »
Hallo,

hast du schon eine Lösung um den Status der Wemo Switches einzublenden?

Grüße
Philipp

Offline plin

  • Developer
  • Full Member
  • ****
  • Beiträge: 134
Antw:Modul für Belkin WeMo Geräte
« Antwort #5 am: 12 Mai 2016, 21:42:02 »
Hallo,

hast du schon eine Lösung um den Status der Wemo Switches einzublenden?

Grüße
Philipp

nee, habe ich nicht. Da ich keine native Unterstützung realisiert habe und auf die "Zuarbeit" des Perl-Belkin-WeMo-API-master angewiesen bin, habe ich nach einigen Hängern die Entwicklung eingestellt. Anscheinend vergisst die Perl-Belkin-WeMo-API-master die Liste der Devices und diese muss regelmäßig aktualisiert werden.

Ciao,
Peter