Moin,
habe nach WIKI-Anleitung eine 99_MyUtils.pm angelegt und meine Heizungssteuerung hinzugefügt.
Beim Speicher - Save as - bekomme ich folgende Meldung:
ERROR:
Illegal declaration of subroutine main::SetTempList_EG at ./FHEM/99_MyUtils.pm line 26.
Ich finde den Fehler aber nicht :'(
Könnte mir bitte jemand die Augen öffnen?
Vielen Dank,
Gruß Dirk
##############################################
# $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.
######## Wohnzimmer Heizung Fenster Temperatur setzen ########
#Nach dem Speichern das Thermostat aktualisieren mit dem Kommandozeilenbefehl
{SetTempList_EG.woz.HZT.Fenster_Clima}
sub
SetTempList_EG.woz.HZT.Fenster_Clima()
{
{ fhem ("set EG.woz.HZT.Fenster_Clima tempListMon prep 06:00 17.0 10:00 21.0 16:00 17.0 21:30 21.0 24:00 17.0")};
{ fhem ("set EG.woz.HZT.Fenster_Clima tempListTue prep 06:00 17.0 10:00 21.0 16:00 17.0 21:30 21.0 24:00 17.0")};
{ fhem ("set EG.woz.HZT.Fenster_Clima tempListWed prep 06:00 17.0 10:00 21.0 16:00 17.0 21:30 21.0 24:00 17.0")};
{ fhem ("set EG.woz.HZT.Fenster_Clima tempListThu prep 06:00 17.0 10:00 21.0 16:00 17.0 21:30 21.0 24:00 17.0")};
{ fhem ("set EG.woz.HZT.Fenster_Clima tempListFri prep 06:00 17.0 10:00 21.0 16:00 17.0 21:30 21.0 24:00 17.0")};
{ fhem ("set EG.woz.HZT.Fenster_Clima tempListSat prep 07:00 17.0 21:30 21.0 24:00 17.0")};
{ fhem ("set EG.woz.HZT.Fenster_Clima tempListSun exec 07:00 17.0 21:30 21.0 24:00 17.0")};
}
1;
Im Loglife steht noch:
PERL WARNING: Subroutine MyUtils_Initialize redefined at ./FHEM/99_MyUtils.pm line 15.
De Name der sub darf keine Punkte enthalten.
Moin marvin,
Danke für die schnelle Antwort,
aber wie bekomme ich jetzt das Ganze zum laufen?
Einfach den Namen hier ändern?
Gruß Dirk
Ein wenig mit den Dingen, die du machst auseinandersetzen würde vermutlich helfen. Einfach nur kopieren macht selten Sinn.
Die sub muss nicht den Namen des Devices enthalten. Also aus
sub
SetTempList_EG.woz.HZT.Fenster_Clima()
wird sowas wie
sub
SetTempList_IRGENDWAS()
Bitte eigne dir ein paar Grundlagen von Perl an.
Danke marvin
so klappt es :)
Werde Deinen Rat bzgl. Grundlagen vertiefen. Jetzt kommt ja bald die dunkle Jahreszeit und damit auch verbunden mehr Zeit zum lesen und probieren.
Gruß Dirk