Hallo,
folgendes DOIF triggert einen Fall mehrfach, die anderen aber nicht :
## Template zum speichern der Energiewerte einer Shelly-Steckdose
DEF TPL_UpdateEnergy (
{
## Taeglicher Energieverbrauch aufsteigend in Reading schreiben
{
if ([$1:"^energy:.*$"]) {fhem ("setreading $1 energy_day_ongoing ".(([$1:energy]) - ([$1:energy_morning,0])))}
}
## Energiestand morgens in Reading sichern. Alte auflaufende Tagesenergie vom Vortag loeschen.(Ist aber im logfile)
{
if ([00:00:05]) {fhem ("setreading $1 energy_morning ".([$1:energy])); fhem("setreading $1 energy_day_ongoing 0")}
}
## Taeglichen Energieverbrauch abends in separates Reading uebernehmen
{
if ([23:59:00]) {fhem ("setreading $1 energy_day ".([$1:energy_day_ongoing,0]))}
}
## Tagesenergie zum auflaufenden Monatsverbrauch addieren
{
if ([23:59:15]) {fhem ("setreading $1 energy_month_ongoing ".(([$1:energy_month_ongoing,0]) + ([$1:energy_day,0])))}
}
## Taeglichen Energieverbrauch dann wieder loeschen. (Verbleibt aber im Logfile)
{
if ([23:59:30]) {fhem ("deletereading $1 energy_day")}
}
## Am Monatsende die Monatssumme als Reading speichern
{
if ([23:59:45] and (strftime("%d", localtime(time+86400)) eq "01"))
{
fhem ("setreading $DEVICE energy_month [$DEVICE:energy_month_ongoing]");
fhem ("deletereading $DEVICE energy_month");
}
}
##([23:58:00]) (setreading Shelly_02 MonatsErtragLaufend {([Shelly_02:MonatsErtragLaufend] + [Shelly_02:energy_day])})
##DOELSEIF ([23:59:00] and (strftime("%d", localtime(time+86400)) eq "01")) (setreading Shelly_02 MonatsErtrag [Shelly_02:MonatsErtragLaufend], setreading ##Shelly_02 MonatsErtragLaufend 0, deletereading Shelly_02 MonatsErtrag)
##DOELSE()
## Logeintrag zum debuggen
## {
## if ([$1:"^energy:.*$"]) {Log 3, "$SELF Device: $DEVICE Event: $EVENT"}
## }
## Test wegen mehrfachem Aufruf
## {
## if ([09:28:00]) {fhem ("setreading $1 energy_test ".(([$1:energy_month,0]) + ([$1:energy_day,0])))}
## }
}
)
## Aufruf des Templates
##
##
## Device
## !!! ACHTUNG : Keine leerzeichen vor oder nach den Parametern (para1,para2,para3)
TPL_UpdateEnergy (Shelly_01);
TPL_UpdateEnergy (Shelly_03);
TPL_UpdateEnergy (Shelly_04);
## !!! ACHTUNG : Keine leerzeichen vor oder nach den Parametern (para1,para2,para3)
## ENDE
Hier sieht man, dass energy_month_ongoing 2 aml getriggert wird, energy_day_ongoing aber nur einmal
Obwohl für mich alles gleich aussieht
Ich habe gelesen, dass man jeden Block in geschweifte Klammern setzen muss, aber das war wohl nicht die Lösung ...
2025-02-04_23:57:29 Shelly_01 inttemp: 19.01
2025-02-04_23:59:00 Shelly_01 energy_day: 73413.4
2025-02-04_23:59:15 Shelly_01 energy_month_ongoing: 73413.4
2025-02-04_23:59:15 Shelly_01 energy_month_ongoing: 146826.8
2025-02-05_00:00:05 Shelly_01 energy_morning: 73418.7
2025-02-05_00:00:05 Shelly_01 energy_day_ongoing: 0
2025-02-05_00:06:34 Shelly_01 uptime: 8235595 sec, last reboot at 2024-11-01 16:26:39
Hier noch das List :
Internals:
CFGFN
DEF ## Template zum speichern der Energiewerte einer Shelly-Steckdose
DEF TPL_UpdateEnergy (
{
## Taeglicher Energieverbrauch aufsteigend in Reading schreiben
{
if ([$1:"^energy:.*$"]) {fhem ("setreading $1 energy_day_ongoing ".(([$1:energy]) - ([$1:energy_morning,0])))}
}
## Energiestand morgens in Reading sichern. Alte auflaufende Tagesenergie vom Vortag loeschen.(Ist aber im logfile)
{
if ([00:00:05]) {fhem ("setreading $1 energy_morning ".([$1:energy])); fhem("setreading $1 energy_day_ongoing 0")}
}
## Taeglichen Energieverbrauch abends in separates Reading uebernehmen
{
if ([23:59:00]) {fhem ("setreading $1 energy_day ".([$1:energy_day_ongoing,0]))}
}
## Tagesenergie zum auflaufenden Monatsverbrauch addieren
{
if ([23:59:15]) {fhem ("setreading $1 energy_month_ongoing ".(([$1:energy_month_ongoing,0]) + ([$1:energy_day,0])))}
}
## Taeglichen Energieverbrauch dann wieder loeschen. (Verbleibt aber im Logfile)
{
if ([23:59:30]) {fhem ("deletereading $1 energy_day")}
}
## Am Monatsende die Monatssumme als Reading speichern
{
if ([23:59:45] and (strftime("%d", localtime(time+86400)) eq "01"))
{
fhem ("setreading $DEVICE energy_month [$DEVICE:energy_month_ongoing]");
fhem ("deletereading $DEVICE energy_month");
}
}
##([23:58:00]) (setreading Shelly_02 MonatsErtragLaufend {([Shelly_02:MonatsErtragLaufend] + [Shelly_02:energy_day])})
##DOELSEIF ([23:59:00] and (strftime("%d", localtime(time+86400)) eq "01")) (setreading Shelly_02 MonatsErtrag [Shelly_02:MonatsErtragLaufend], setreading ##Shelly_02 MonatsErtragLaufend 0, deletereading Shelly_02 MonatsErtrag)
##DOELSE()
## Logeintrag zum debuggen
## {
## if ([$1:"^energy:.*$"]) {Log 3, "$SELF Device: $DEVICE Event: $EVENT"}
## }
## Test wegen mehrfachem Aufruf
## {
## if ([09:28:00]) {fhem ("setreading $1 energy_test ".(([$1:energy_month,0]) + ([$1:energy_day,0])))}
## }
}
)
## Aufruf des Templates
##
##
## Device
## !!! ACHTUNG : Keine leerzeichen vor oder nach den Parametern (para1,para2,para3)
TPL_UpdateEnergy (Shelly_01);
TPL_UpdateEnergy (Shelly_03);
TPL_UpdateEnergy (Shelly_04);
## !!! ACHTUNG : Keine leerzeichen vor oder nach den Parametern (para1,para2,para3)
## ENDE
##TPL_UpdateEnergy ([11:40:00])
##TPL_UpdateEnergy ([11:41:00])
##DEF TPL_UpdateEnergy ( ## Template zum Setzen der Zimmertemperaturen
## {
## if ([$1])
## {
## {fhem ("set D_Test $1")}
## }
## }
##)
## Zeit Ku,Ba,DG,WZ,Ko,Kw
## $1 $2 $3 $4 $5 $6 $7
##TPL_UpdateEnergy ([11:39:00])
##TPL_UpdateEnergy ([11:40:00])
##TPL_UpdateEnergy ([11:41:00])
##my $MyDevice="Shelly_Heizung"
#### ([+:01]) (setreading Shelly_Heizung energy_day {([Shelly_Heizung:energy] - [Shelly_Heizung:energy_morgens])})
##(["^Shelly_H:^energy"]) (setreading $MyDevice energy_day {([$DEVICE:energy] - [$DEVICE:energy_morgens])})
####(["^Shelly_H:^energy"]) ({Log3 ("$DEVICE", 1, ReadingsVal("$DEVICE","energy","NIX DA?"))})
##DOELSEIF ([00:00:15]) (setreading $DEVICE energy_morgens [$DEVICE:energy], setreading $DEVICE energy_day 0)
##DOELSEIF ([23:59:00]) (setreading $DEVICE energy_daysum {([$DEVICE:energy] - [$DEVICE:energy_morgens])})
##DOELSEIF ([23:59:15]) (deletereading $DEVICE energy_daysum)
##DOELSEIF ([23:59:30]) (setreading $DEVICE energy_month {([$DEVICE:energy_month] + [$DEVICE:energy_day])})
##DOELSEIF ([23:59:45] and (strftime("%d", localtime(time+86400)) eq "01")) (setreading $DEVICE energy_monthsum [$DEVICE:energy_month], setreading $DEVICE energy_month 0, ##deletereading $DEVICE energy_monthsum)
##DOELSE()
FUUID 679df276-f33f-623c-d8ee-7ddf0931882b8874
MODEL Perl
NAME DI_Shelly_Energy
NOTIFYDEV Shelly_04,global,Shelly_01,Shelly_03
NR 1029
NTFY_ORDER 50-DI_Heizung_Energy2
STATE initialized
TYPE DOIF
VERSION 28546 2024-02-23 20:11:05
eventCount 309
READINGS:
2025-02-05 17:43:17 Device Shelly_03
2025-02-05 17:41:45 block_01 executed
2025-02-05 17:43:17 block_02 executed
2025-02-05 17:43:17 block_03 executed
2025-02-05 17:41:45 e_Shelly_01_energy 73454.8
2025-02-05 17:41:45 e_Shelly_01_events energy: 73454.8
2025-02-05 17:43:17 e_Shelly_03_events uptime: 429861,voltage: 225.5
2025-02-05 17:35:12 e_Shelly_04_energy 808.828
2025-02-05 17:43:17 e_Shelly_04_events uptime: 356303,voltage: 224.8,current: 0.221,power: 46
2025-02-05 17:19:27 mode enabled
2025-02-05 17:19:28 state initialized
2025-02-05 17:19:28 timer_01_c01 06.02.2025 00:00:05
2025-02-05 17:19:28 timer_02_c01 05.02.2025 23:59:00
2025-02-05 17:19:28 timer_03_c01 05.02.2025 23:59:15
2025-02-05 17:19:28 timer_04_c01 05.02.2025 23:59:30
2025-02-05 17:19:28 timer_05_c01 05.02.2025 23:59:45
2025-02-05 17:19:28 timer_06_c02 06.02.2025 00:00:05
2025-02-05 17:19:28 timer_07_c02 05.02.2025 23:59:00
2025-02-05 17:19:28 timer_08_c02 05.02.2025 23:59:15
2025-02-05 17:19:28 timer_09_c02 05.02.2025 23:59:30
2025-02-05 17:19:28 timer_10_c02 05.02.2025 23:59:45
2025-02-05 17:19:28 timer_11_c03 06.02.2025 00:00:05
2025-02-05 17:19:28 timer_12_c03 05.02.2025 23:59:00
2025-02-05 17:19:28 timer_13_c03 05.02.2025 23:59:15
2025-02-05 17:19:28 timer_14_c03 05.02.2025 23:59:30
2025-02-05 17:19:28 timer_15_c03 05.02.2025 23:59:45
Regex:
accu:
bar:
barAvg:
collect:
cond:
Shelly_01:
0:
&STATE ^Shelly_01$
energy ^Shelly_01$:^energy:
energy_day ^Shelly_01$:^energy_day:
energy_day_ongoing ^Shelly_01$:^energy_day_ongoing:
energy_month_ongoing ^Shelly_01$:^energy_month_ongoing:
energy_morning ^Shelly_01$:^energy_morning:
1:
2:
Shelly_03:
0:
1:
&STATE ^Shelly_03$
energy ^Shelly_03$:^energy:
energy_day ^Shelly_03$:^energy_day:
energy_day_ongoing ^Shelly_03$:^energy_day_ongoing:
energy_month_ongoing ^Shelly_03$:^energy_month_ongoing:
energy_morning ^Shelly_03$:^energy_morning:
2:
Shelly_04:
0:
1:
2:
&STATE ^Shelly_04$
energy ^Shelly_04$:^energy:
energy_day ^Shelly_04$:^energy_day:
energy_day_ongoing ^Shelly_04$:^energy_day_ongoing:
energy_month_ongoing ^Shelly_04$:^energy_month_ongoing:
energy_morning ^Shelly_04$:^energy_morning:
condition:
0
{
if (::EventDoIf('Shelly_01',$hash,'^energy:.*$',1)) {fhem ("setreading Shelly_01 energy_day_ongoing ".((::ReadingValDoIf($hash,'Shelly_01','energy')) - (::ReadingValDoIf($hash,'Shelly_01','energy_morning','0'))))}
}
{
if (::DOIF_time_once($hash,0,$wday)) {fhem ("setreading Shelly_01 energy_morning ".(::ReadingValDoIf($hash,'Shelly_01','energy'))); fhem("setreading Shelly_01 energy_day_ongoing 0")}
}
{
if (::DOIF_time_once($hash,1,$wday)) {fhem ("setreading Shelly_01 energy_day ".(::ReadingValDoIf($hash,'Shelly_01','energy_day_ongoing','0')))}
}
{
if (::DOIF_time_once($hash,2,$wday)) {fhem ("setreading Shelly_01 energy_month_ongoing ".((::ReadingValDoIf($hash,'Shelly_01','energy_month_ongoing','0')) + (::ReadingValDoIf($hash,'Shelly_01','energy_day','0'))))}
}
{
if (::DOIF_time_once($hash,3,$wday)) {fhem ("deletereading Shelly_01 energy_day")}
}
{
if (::DOIF_time_once($hash,4,$wday) and (strftime("%d", localtime(time+86400)) eq "01"))
{
fhem ("setreading $DEVICE energy_month ::ReadingValDoIf($hash,'$DEVICE','energy_month_ongoing')");
fhem ("deletereading $DEVICE energy_month");
}
}
1
{
if (::EventDoIf('Shelly_03',$hash,'^energy:.*$',1)) {fhem ("setreading Shelly_03 energy_day_ongoing ".((::ReadingValDoIf($hash,'Shelly_03','energy')) - (::ReadingValDoIf($hash,'Shelly_03','energy_morning','0'))))}
}
{
if (::DOIF_time_once($hash,5,$wday)) {fhem ("setreading Shelly_03 energy_morning ".(::ReadingValDoIf($hash,'Shelly_03','energy'))); fhem("setreading Shelly_03 energy_day_ongoing 0")}
}
{
if (::DOIF_time_once($hash,6,$wday)) {fhem ("setreading Shelly_03 energy_day ".(::ReadingValDoIf($hash,'Shelly_03','energy_day_ongoing','0')))}
}
{
if (::DOIF_time_once($hash,7,$wday)) {fhem ("setreading Shelly_03 energy_month_ongoing ".((::ReadingValDoIf($hash,'Shelly_03','energy_month_ongoing','0')) + (::ReadingValDoIf($hash,'Shelly_03','energy_day','0'))))}
}
{
if (::DOIF_time_once($hash,8,$wday)) {fhem ("deletereading Shelly_03 energy_day")}
}
{
if (::DOIF_time_once($hash,9,$wday) and (strftime("%d", localtime(time+86400)) eq "01"))
{
fhem ("setreading $DEVICE energy_month ::ReadingValDoIf($hash,'$DEVICE','energy_month_ongoing')");
fhem ("deletereading $DEVICE energy_month");
}
}
2
{
if (::EventDoIf('Shelly_04',$hash,'^energy:.*$',1)) {fhem ("setreading Shelly_04 energy_day_ongoing ".((::ReadingValDoIf($hash,'Shelly_04','energy')) - (::ReadingValDoIf($hash,'Shelly_04','energy_morning','0'))))}
}
{
if (::DOIF_time_once($hash,10,$wday)) {fhem ("setreading Shelly_04 energy_morning ".(::ReadingValDoIf($hash,'Shelly_04','energy'))); fhem("setreading Shelly_04 energy_day_ongoing 0")}
}
{
if (::DOIF_time_once($hash,11,$wday)) {fhem ("setreading Shelly_04 energy_day ".(::ReadingValDoIf($hash,'Shelly_04','energy_day_ongoing','0')))}
}
{
if (::DOIF_time_once($hash,12,$wday)) {fhem ("setreading Shelly_04 energy_month_ongoing ".((::ReadingValDoIf($hash,'Shelly_04','energy_month_ongoing','0')) + (::ReadingValDoIf($hash,'Shelly_04','energy_day','0'))))}
}
{
if (::DOIF_time_once($hash,13,$wday)) {fhem ("deletereading Shelly_04 energy_day")}
}
{
if (::DOIF_time_once($hash,14,$wday) and (strftime("%d", localtime(time+86400)) eq "01"))
{
fhem ("setreading $DEVICE energy_month ::ReadingValDoIf($hash,'$DEVICE','energy_month_ongoing')");
fhem ("deletereading $DEVICE energy_month");
}
}
days:
defs:
tpl:
TPL_UpdateEnergy
{
{
if ([$1:"^energy:.*$"]) {fhem ("setreading $1 energy_day_ongoing ".(([$1:energy]) - ([$1:energy_morning,0])))}
}
{
if ([00:00:05]) {fhem ("setreading $1 energy_morning ".([$1:energy])); fhem("setreading $1 energy_day_ongoing 0")}
}
{
if ([23:59:00]) {fhem ("setreading $1 energy_day ".([$1:energy_day_ongoing,0]))}
}
{
if ([23:59:15]) {fhem ("setreading $1 energy_month_ongoing ".(([$1:energy_month_ongoing,0]) + ([$1:energy_day,0])))}
}
{
if ([23:59:30]) {fhem ("deletereading $1 energy_day")}
}
{
if ([23:59:45] and (strftime("%d", localtime(time+86400)) eq "01"))
{
fhem ("setreading $DEVICE energy_month [$DEVICE:energy_month_ongoing]");
fhem ("deletereading $DEVICE energy_month");
}
}
}
helper:
NOTIFYDEV Shelly_04,global,Shelly_01,Shelly_03
event uptime: 429861,voltage: 225.5
globalinit 1
last_timer 15
sleeptimer -1
triggerDev Shelly_03
triggerEvents:
uptime: 429861
voltage: 225.5
triggerEventsState:
uptime: 429861
voltage: 225.5
internals:
intervalfunc:
localtime:
0 1738796405
1 1738796340
10 1738796405
11 1738796340
12 1738796355
13 1738796370
14 1738796385
2 1738796355
3 1738796370
4 1738796385
5 1738796405
6 1738796340
7 1738796355
8 1738796370
9 1738796385
perlblock:
0 block_01
1 block_02
2 block_03
readings:
all Shelly_01:energy Shelly_01:energy_morning Shelly_01:energy_day_ongoing Shelly_01:energy_month_ongoing Shelly_01:energy_day Shelly_03:energy Shelly_03:energy_morning Shelly_03:energy_day_ongoing Shelly_03:energy_month_ongoing Shelly_03:energy_day Shelly_04:energy Shelly_04:energy_morning Shelly_04:energy_day_ongoing Shelly_04:energy_month_ongoing Shelly_04:energy_day
realtime:
0 00:00:05
1 23:59:00
10 00:00:05
11 23:59:00
12 23:59:15
13 23:59:30
14 23:59:45
2 23:59:15
3 23:59:30
4 23:59:45
5 00:00:05
6 23:59:00
7 23:59:15
8 23:59:30
9 23:59:45
time:
0 00:00:05
1 23:59:00
10 00:00:05
11 23:59:00
12 23:59:15
13 23:59:30
14 23:59:45
2 23:59:15
3 23:59:30
4 23:59:45
5 00:00:05
6 23:59:00
7 23:59:15
8 23:59:30
9 23:59:45
timeCond:
0 0
1 0
10 2
11 2
12 2
13 2
14 2
2 0
3 0
4 0
5 1
6 1
7 1
8 1
9 1
timer:
0 0
1 0
10 0
11 0
12 0
13 0
14 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
timers:
0 0 1 2 3 4
1 5 6 7 8 9
2 10 11 12 13 14
trigger:
all Shelly_01 Shelly_03 Shelly_04
triggertime:
1738796340:
localtime 1738796340
hash:
1738796355:
localtime 1738796355
hash:
1738796370:
localtime 1738796370
hash:
1738796385:
localtime 1738796385
hash:
1738796405:
localtime 1738796405
hash:
uiState:
uiTable:
Attributes:
room Interfaces,Shelly
Was mache ich falsch ?
Gruss
Joe
Du muss bedenken, dass alle Angaben in eckigen Klammern Trigger darstellen, egal wo sie stehen, z. B.:
if ([$1:"^energy:.*$"]) {fhem ("setreading $1 energy_day_ongoing ".(([$1:energy]) - ([$1:energy_morning,0])))}
schau mal hier: https://forum.fhem.de/index.php?topic=140088.msg1327855#msg1327855
ich habe dort auch Templates definiert, die Energie dem Tag, Monat, Jahr zuordnen.
Hi,
Die Seite kannte ich, war mir aber zu komplex mit den ganzen Diagrammen.
Habs jetzt aber mal in einem Testdevice angelegt.
Hast Du mir noch einen Tip, wie ich meinen Ansatz zum laufen bekomme bzw. wie ich das mit den Triggern löse ?
Verstanden habe ich es nicht ganz, da ja einige Blöcke funktionieren, aber der eine eben 2 Mal ausgeführt wird.
Hatte das ganze als normales DOIF und das hat problemlos funktioniert.
Ich wollte dann aber nicht für jedes Device ein eigenes DOIF anlegen und kam so auf die Templates die den Perl-Mode benötigen.
Das hat mich schon sehr viel Zeit gekostet und bis auf den mehrfachen Aufruf läuft ja alles ...
Gruss und Danke
Joe
Was nicht triggern soll mit "?" maskieren.
Das mit dem Fragezeichzen hat nicht funktioniert :
if ([07:54:00]) {fhem ("setreading $1 energy_month_ongoing ".(([?$1:energy_month_ongoing,0]) + ([?$1:energy_day,0])))}
Dann bin ich auf ReadingsVal umgestiegen um die eckigen Klammern zu entfernen :
if ([08:53:00]) {fhem ("setreading $1 energy_month_ongoing ".(ReadingsVal("$1","energy_month_ongoing",0) + ReadingsVal("$1","energy_day",0)))}
Trotzdem hab ich den Eintrag 2 mal :
2025-02-07_08:53:00 Shelly_03 energy_month_ongoing: 442.076
2025-02-07_08:53:00 Shelly_03 energy_month_ongoing: 480.203
Mein Debug-Log sieht so aus:
Für jedes Device gibt es 2 Aufrufe, aber im jeweils 2ten Aufruf fehlt der Device-Name ...
2025.02.07 08:53:00 1: 2!!! DI_Shelly_Energy2 Device: Shelly_01 Event: energy_month_ongoing: 149623.2 Tag: 7 RV: 73951.5
2025.02.07 08:53:00 1: 2!!! DI_Shelly_Energy2 Device: Event: timer_7 Tag: 7 RV: 73951.5
2025.02.07 08:53:00 1: 2!!! DI_Shelly_Energy2 Device: Shelly_03 Event: energy_month_ongoing: 442.076 Tag: 7 RV: 298.942
2025.02.07 08:53:00 1: 2!!! DI_Shelly_Energy2 Device: Event: timer_17 Tag: 7 RV: 298.942
2025.02.07 08:53:00 1: 2!!! DI_Shelly_Energy2 Device: Shelly_04 Event: energy_month_ongoing: 1741.938 Tag: 7 RV: 1067.5
2025.02.07 08:53:00 1: 2!!! DI_Shelly_Energy2 Device: Event: timer_27 Tag: 7 RV: 1067.5
Die Uhrzeit ist nur einmalig drin. Wie kann das 2 mal ausgeführt werden ?
Du hast alle Perl-Blöcke in einen DOIF-Block gepackt, d.h. wenn irgendwo ein Trigger triggert, ob Zeit oder Event, werden alle Perl-Blöcke abgearbeitet, das ist nicht sinnvoll. Dein Template kann mehrere Blöcke haben, diese sollten aber unabhängig von einander sein.
DEF TPL_UpdateEnergy (
{
## Taeglicher Energieverbrauch aufsteigend in Reading schreiben
{
...
Um das Problem einzukreisen, kannst du die einzelnen Blöcke zusätzlich auskommentieren und einzeln testen.
Hmmm, ich hab hier glaub echt ein Verständnisproblem aber ich versuche es mal abzuspecken...
Weiteres Problem :
Obwohl ich nun 2 Devices auskommentiert habe, werden diese trotzdem angelegt :
#TPL_UpdateEnergy (Shelly_01)
#TPL_UpdateEnergy (Shelly_03)
TPL_UpdateEnergy (Shelly_04)
Nur wenn ich doppelte ## verwende, geht es
##TPL_UpdateEnergy (Shelly_01)
##TPL_UpdateEnergy (Shelly_03)
TPL_UpdateEnergy (Shelly_04)
???
auskommentiert wird mit ##
Jetzt hab ich den Fehler gefunden.
Es lag an der Klammerung.
Innerhalb des Templates mit runden Klammern muessen die Blöcke mit den geschweiften kommen.
DEF TPL_Test (
Block_1{
}
Block_2{
}
)
@Damian
Dein obiges verlinktes Beispiel läuft nun auch bei mir und die cards werden angezeigt.
Wenn ich das Device nun aber mit rename umbenennen will, wird nichts mehr angezeigt.
Benenne ich es wieder zurück in di_counter_new gehts wieder.
Hab aber sonst keine Abhängigkeiten zum Namen gefunden ...