Hallo,
nachdem meine drei Thermostate jetzt einwandfrei funktionieren, wollte ich mir einen Button machen um alle auf Sommer/Urlaub umzustellen und einen um wieder auf Winter zustellen.
Dazu habe ich zwei Perl Funktionen geschrieben, die die Umstellung machen
sub
SetTempList_Sommer_Urlaub()
{
{ fhem ("set Bad.Thermostat_Clima tempListMon prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListTue prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListWed prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListThu prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListFri prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListSat prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListSun exec 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListMon prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListTue prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListWed prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListThu prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListFri prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListSat prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListSun exec 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListMon prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListTue prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListWed prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListThu prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListFri prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListSat prep 00:05 11.5 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListSun exec 00:05 11.5 23:55 12.0 24:00 11.5")};
}
sub
SetTempList_Winter()
{
{ fhem ("set Bad.Thermostat_Clima tempListMon prep 00:05 11.5 05:30 12.0 08:30 22.0 17:30 12.0 22:30 22.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListTue prep 00:05 11.5 05:30 12.0 08:30 22.0 17:30 12.0 22:30 22.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListWed prep 00:05 11.5 05:30 12.0 08:30 22.0 17:30 12.0 22:30 22.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListThu prep 00:05 11.5 05:30 12.0 08:30 22.0 17:30 12.0 22:30 22.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListFri prep 00:05 11.5 05:30 12.0 08:30 22.0 17:30 12.0 22:30 22.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListSat prep 00:05 11.5 07:00 12.0 10:00 22.0 17:30 18.5 23:00 22.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Bad.Thermostat_Clima tempListSun exec 00:05 11.5 07:00 12.0 10:00 22.0 17:30 18.5 23:00 22.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListMon prep 00:05 11.5 05:30 12.0 08:30 16.0 17:30 12.0 22:30 20.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListTue prep 00:05 11.5 05:30 12.0 08:30 16.0 17:30 12.0 22:30 20.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListWed prep 00:05 11.5 05:30 12.0 08:30 16.0 17:30 12.0 22:30 20.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListThu prep 00:05 11.5 05:30 12.0 08:30 16.0 17:30 12.0 22:30 20.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListFri prep 00:05 11.5 05:30 12.0 08:30 16.0 17:30 12.0 22:30 20.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListSat prep 00:05 11.5 07:00 12.0 10:00 20.0 17:00 18.5 23:55 20.0 24:00 11.5")};
{ fhem ("set Wohnzimmer.Thermostat_Clima tempListSun exec 00:05 11.5 07:00 12.0 10:00 20.0 17:00 18.5 23:55 20.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListMon prep 00:05 11.5 05:30 12.0 08:30 16.0 17:30 12.0 22:30 20.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListTue prep 00:05 11.5 05:30 12.0 08:30 16.0 17:30 12.0 22:30 20.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListWed prep 00:05 11.5 05:30 12.0 08:30 16.0 17:30 12.0 22:30 20.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListThu prep 00:05 11.5 05:30 12.0 08:30 16.0 17:30 12.0 22:30 20.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListFri prep 00:05 11.5 05:30 12.0 08:30 16.0 17:30 12.0 22:30 20.0 23:55 12.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListSat prep 00:05 11.5 07:00 12.0 10:00 20.0 17:00 18.5 23:55 20.0 24:00 11.5")};
{ fhem ("set Kueche.Thermostat_Clima tempListSun exec 00:05 11.5 07:00 12.0 10:00 20.0 17:00 18.5 23:55 20.0 24:00 11.5")};
}
Diese Funktionen werden auch ausgeführt wenn ich sie mit den geschweiften Klammern in die Kommandozeile so z.B. {SetTempList_Sommer_Urlaub()}
Danach habe ich mir je einen Button mit Dummy definiert und diese sollten dann je eine Funktion aufrufen, das sieht dann so aus
#Button Dummy
define urlaubsButton dummy
attr urlaubsButton room 99_System
attr urlaubsButton webCmd setUrlaub
define myNotifyUrlaub notify urlaubsButton:setUrlaub {SetTempList_Sommer_Urlaub()}
#Button Dummy
define winterButton dummy
attr winterButton room 99_System
attr winterButton webCmd setWinter
define myNotifyWinter notify winterButton:setWinter {SetTempList_Winter()}
Allerdings werden die Funktionen nicht ausgeführt.
Habe ich irgendwo einen Denkfehler, oder ist sonst irgendwas falsch?
Vielen Dank
Tobias
Versuche das mal mit einem Semikolon!
{SetTempList_Winter();}
Das funktioniert leider nicht.
Beim speichern der cfg erhalte ich:
ERROR:
Unknown command }, try help. Unknown command }, try help.
Nimm die GUI nicht in der fhem.cfg arbeiten! Wenn doch, dann musst du zwei Semikolons nehmen!
Welche GUI meinst du denn genau?
Einfach im Notify auf DEF klicken, also die FHEM Gui!
Das sowas geht habe ich noch gar nicht gewußt ;D
Vielleicht ist man da als Informatiker eher etwas Betriebsblind ;D
Man pfuscht halt von Haus aus gerne in Config Files rum ;)
Das doppelte Semikolon funktioniert übrigens 1A,
Vielen Dank
Tröste dich ging mir genauso..habe auch zwei Monate gebraucht um das zu kapieren :D