Too many arguments und ich komm nicht drauf warum..... [gelöst]

Begonnen von Rudolpho, 17 Februar 2019, 00:48:14

Vorheriges Thema - Nächstes Thema

Rudolpho

Dieses Notify ist bei mir im Einsatz:
define WMBUS_DME_56064082_112_7_notify_1 notify WMBUS_DME_56064082_112_7:2_value:..* {WaterToLoxone("$NAME")}

Hier die komplette 99_myUtils.pm


##############################################
# $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";
}
sub WaterToLoxone($)
{
my ($device) = @_;
my $water=ReadingsVal("$device","2_value","-1");
UDP_Msg("192.168.178.250" , "7600" , "$device: $water");
}
1;


Beim speichern erhalte ich folgende Fehlermeldung   
ERROR:
Too many arguments for main::UDP_Msg at ./FHEM/99_myUtils.pm line 37, near ""$device: $water")"

Ich habe jetzt durchaus einige Stunden damit verbracht im Forum und auf Google zu suchen komme jedoch einer Lösung nicht wirklich näher....
und hoffe auf Hilfe! 

KernSani

Naja, der Aufruf:

UDP_Msg("192.168.178.250" , "7600" , "$device: $water");

hat drei Parameter, die sub

sub UDP_Msg($$)

erwartet aber nur zwei...

Wo auch immer du dir das rauskopiert hast... Ändere die Zeile mal in

sub UDP_Msg($$$)

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Rudolpho

Vielen Dank !
...und ich hatte immer nur bei der anderen Funktion gesucht aber nicht bei der UDP senden