Fhem Loxberry plugin mit miniserver können nicht miteinander

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Kurti
    Extension Master
    • 18.10.2015
    • 118

    #1

    Fhem Loxberry plugin mit miniserver können nicht miteinander

    Hallo
    bin gerade mit dem Fhem plugin im loxberry beim programmieren,noch nicht ganz vertraut mit Fhem,
    habe einen dummy mySwitch1 angelegt,nur bekommt mein Miniserver keine UDP Message (Port 7000)
    auch andere Richtung von miniserver zum Fhem Server funktioniert nicht.
    Anleitung hab ich mir von www.meintechblog.de,kann mir vielleicht einer helfen,wie gesagt bin gerade am anfang mit fhem
  • Kurti
    Extension Master
    • 18.10.2015
    • 118

    #2
    hab auch diesen Code in 99_myUtils.pm
    eingefügt, ip Adresse auch geändert


    ##############################################
    # $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
    #
    # Save this file as 99_myUtils.pm, and create your own functions in the new
    # file. They are then available in every Perl expression.

    package main;

    use strict;
    use warnings;
    use POSIX;

    sub
    myUtils_Initialize($$)
    {
    my ($hash) = @_;
    }

    # Enter you functions below _this_ line.


    #UDP Befehle senden
    sub UDP_Msg($$$)
    {
    my ($dest,$port,$cmd) = @_;
    my $sock = IO::Socket::INET->new(
    Proto => 'udp',
    PeerPort => $port,
    PeerAddr => $dest
    ) or die "Could not create socket: $!\n";
    $sock->send($cmd) or die "Send error: $!\n";
    return "send $cmd";
    }



    #OnOffToLoxone
    #device:
    #1 state(0,1)
    #2 pct(0-100)
    sub OnOffToLoxone($)
    {
    my ($device) = @_;
    my $state = ReadingsVal("$device","state","-1");
    if ($state eq "on") {
    $state = "1";
    }
    if ($state eq "off") {
    $state = "0";
    }
    my $pct = ReadingsVal("$device","pct","-1");

    #fhem("set $device: $state $pct");
    UDP_Msg("10.0.0.77" , "7000" , "$device: $state $pct");
    }



    #OpenClosedToLoxone
    #device
    #1 state(0,1)
    #2 alive(1-0)
    #3 battery(0,1)
    sub OpenClosedToLoxone($)
    {
    my ($device) = @_;
    my $state = ReadingsVal("$device","state","-1");
    if ($state eq "closed") {
    $state = "0";
    }
    if ($state eq "open") {
    $state = "1";
    }
    if ($state eq "tilted") {
    $state = "2";
    }
    my $alive = ReadingsVal("$device","alive","-1");
    if ($alive eq "yes") {
    $alive = "1";
    }
    if ($alive eq "no") {
    $alive = "0";
    }
    my $battery = ReadingsVal("$device","battery","-1");
    if ($battery eq "ok") {
    $battery = "1";
    }
    if ($battery eq "low") {
    $battery = "0";
    }
    my $sabotage = ReadingsVal("$device","sabotageError","-1");
    if ($sabotage eq "on") {
    $sabotage = "1";
    }
    if ($sabotage eq "off") {
    $sabotage = "0";
    }

    UDP_Msg("10.0.0.77" , "7000" , "$device: $state $alive $battery $sabotage");
    }


    #ClimateToLoxone
    #device:
    #1 measured-temp
    #2 humidity
    #3 alive
    #4 battery
    #5 desired-temp
    #6 controlMode
    #7 dewpoint
    sub ClimateToLoxone($)
    {
    my ($device) = @_;

    my $measuredTemp=ReadingsVal("$device","measured-temp","-1");
    my $humidity=ReadingsVal("$device","humidity","-1");
    my $alive = ReadingsVal("$device","alive","-1");
    if ($alive eq "yes") {
    $alive = "1";
    }
    if ($alive eq "no") {
    $alive = "0";
    }
    my $battery = ReadingsVal("$device","battery","-1");
    if ($battery eq "ok") {
    $battery = "1";
    }
    if ($battery eq "low") {
    $battery = "0";
    }
    my $desiredTemp=ReadingsVal("$device","desired-temp","-1");
    my $controlMode=ReadingsVal("$device","controlMode","-1");
    if ($controlMode eq "manual") {
    $controlMode = "0";
    }
    if ($controlMode eq "auto") {
    $controlMode = "1";
    }
    my $dewpoint=ReadingsVal("$device","dewpoint","-1");
    my $actuator=ReadingsVal("$device","actuator","-1");

    UDP_Msg("10.0.0.77" , "7000" , "$device: $measuredTemp $humidity $alive $battery $desiredTemp $controlMode $dewpoint $actuator");
    }


    #EnergyToLoxone
    sub EnergyToLoxone($)
    {
    my ($device) = @_;
    my $energy=ReadingsVal("$device","sensor3","-1");

    UDP_Msg("10.0.0.77" , "7000" , "$device: $energy");
    }

    #Energy2ToLoxone
    sub Energy2ToLoxone($)
    {
    my ($device) = @_;
    my $energy=ReadingsVal("$device","current","-1");

    UDP_Msg("10.0.0.77" , "7000" , "$device: $energy");
    }


    #MotionToLoxone
    sub MotionToLoxone($)
    {
    my ($device) = @_;
    my $motion=ReadingsVal("$device","motion","-1");
    if ($motion eq "on (to HMLAN1)") {
    $motion = "1";
    }
    UDP_Msg("10.0.0.77" , "7000" , "$device: $motion");
    }


    #TempHumidityToLoxone
    sub TempHumidityToLoxone($)
    {
    my ($device) = @_;
    my $temperature=ReadingsVal("$device","temperature","-1");
    my $humidity=ReadingsVal("$device","humidity","-1");

    UDP_Msg("10.0.0.77" , "7000" , "$device: $temperature $humidity");
    }
    Angehängte Dateien

    Kommentar

    Lädt...