Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Flexibles Timerskript + Vis

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [Vorlage] Flexibles Timerskript + Vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • gelberlemmy
      gelberlemmy @Pittini last edited by

      @Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:

      @gelberlemmy

      Ja, is kostenlos für Privatnutzung. https://anydesk.com/de/downloads

      Danke. Schreibe Dir eine PN

      1 Reply Last reply Reply Quote 0
      • P
        Pittini Developer @fastfoot last edited by

        @fastfoot sagte in [Vorlage] Flexibles Timerskript + Vis:

        Zusätzlich, wenn Timer 3 eingestellt und eingeschaltet ist, dann wird zwar zum Zeitpunkt getriggert, jedoch meldet das LOG dann einen Fehler, Callback nicht erreichbar oder so ähnlich. (ist im LOG der Einfachheit halber nicht enthalten, da es nach einem Fix der gezeigten Fehler evtl automatisch verschwindet)
        Ich habe versucht, mehr Vorarbeit zu leisten, um den Fehler evtl. selbst zu finden, bin jedoch kläglich gescheitert

        Der Fehler is atypisch und bisher noch bei niemand aufgetreten. Ich kanns leider auch nicht reproduzieren. Da Du aber ne Fehlermeldung hast, würd ich mich gern erst mal da drum kümmern (also genau andersrum als Du dachtest). Poste bitte mal das Log wenn der Fehler auftritt.

        F 2 Replies Last reply Reply Quote 0
        • F
          fastfoot @Pittini last edited by

          @Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:

          Der Fehler is atypisch und bisher noch bei niemand aufgetreten. Ich kanns leider auch nicht reproduzieren. Da Du aber ne Fehlermeldung hast, würd ich mich gern erst mal da drum kümmern (also genau andersrum als Du dachtest). Poste bitte mal das Log wenn der Fehler auftritt.

          Also ich habe ein komplett neues System aufgesetzt, nur mit JS und Hue-Adapter und VIS, Hier nochmal die Ausgangssituation, diesmal mit Zeiten
          Timer11.PNG

          Gelöscht wird nun Timer3(Play2), in der VIS verschwindet jedoch Timer2
          Timer22.PNG

          Nun lösche ich wieder die Play2(nun Timer2), in der VIS verschwindet jedoch Timer1
          Timer33.PNG

          Was jetzt aber absolut unverständlich ist, die originalen Zeiten der ersten beiden Timer wurden mit den verbleibenden Zielen gemischt, d.h. die Play2 geht um 19:22:00 an und um 19:22:30 aus, wie es eigentlich für den Strip gescheduled war. (siehe auch LOG Zeilen 219 + 224). Der gestern beschriebene Fehler erscheint zur Zeit des originalen Timers 4(in Bild3 Timer2)

          2020-08-03 19:17:07.526  - Start javascript script.js.common.Timer217
          2020-08-03 19:17:07.535  - script.js.common.Timer217: Starting TimerSkript V2.1.7
          2020-08-03 19:17:07.548  - script.js.common.Timer217: registered 0 subscriptions and 0 schedules
          2020-08-03 19:17:07.981  - script.js.common.Timer217: Initial CreateStates finished!
          2020-08-03 19:17:07.982  - script.js.common.Timer217: Reaching Main
          2020-08-03 19:17:07.983  - script.js.common.Timer217: Reaching Init()
          2020-08-03 19:17:07.985  - script.js.common.Timer217: GetParentId(Targets[y])=hue.0.Play2_Wohnzimmer
          2020-08-03 19:17:07.987  - script.js.common.Timer217: GetParentId(Targets[y])=hue.0.Strip_Wohnzimmer
          2020-08-03 19:17:07.988  - script.js.common.Timer217: 2 Targets found - Targets are: hue.0.Play2_Wohnzimmer.on,hue.0.Strip_Wohnzimmer.on
          2020-08-03 19:17:07.988  - script.js.common.Timer217: Names are: Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:17:08.001  - script.js.common.Timer217: Reaching CreateTimerCountList()
          2020-08-03 19:17:08.003  - script.js.common.Timer217: Reaching SetValueListPairs()
          2020-08-03 19:17:08.004  - script.js.common.Timer217: Reaching ConvertPresence. TempPresence=true
          2020-08-03 19:17:08.006  - script.js.common.Timer217: Reaching CreateTrigger()
          2020-08-03 19:17:08.241  - script.js.common.Timer217: Timer CreateState(s) finished!
          2020-08-03 19:17:08.243  - script.js.common.Timer217: Reaching SetTimer(whichone=,0 GoToTommorrow=false)
          2020-08-03 19:17:08.252  - script.js.common.Timer217: Timer CreateState(s) finished!
          2020-08-03 19:17:08.253  - script.js.common.Timer217: Reaching SetTimer(whichone=,1 GoToTommorrow=false)
          2020-08-03 19:17:08.254  - script.js.common.Timer217: Reaching CreateTimerTargetsNameList()
          2020-08-03 19:17:08.254  - script.js.common.Timer217: Original TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:17:08.255  - script.js.common.Timer217: Possible Target are:hue.0.Play2_Wohnzimmer.on,hue.0.Strip_Wohnzimmer.on
          2020-08-03 19:17:08.255  - script.js.common.Timer217: New TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:17:08.257  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:14.087  - script.js.common.Timer217: AddTimer triggered, val=true
          2020-08-03 19:17:14.088  - script.js.common.Timer217: Reaching AddNewTimer
          2020-08-03 19:17:14.090  - script.js.common.Timer217: Timercount=3
          2020-08-03 19:17:14.094  - script.js.common.Timer217: Reaching CreateTimerCountList()
          2020-08-03 19:17:14.187  - script.js.common.Timer217: Reaching WriteToTemplate(whichone), whichone=2
          2020-08-03 19:17:14.188  - script.js.common.Timer217: Typeof MyTimer[2]=undefined
          2020-08-03 19:17:14.192  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=3 onoff=false
          2020-08-03 19:17:14.193  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:14.194  - script.js.common.Timer217: Timertemplate changed to 2
          2020-08-03 19:17:14.336  - script.js.common.Timer217: Timer CreateState(s) finished!
          2020-08-03 19:17:14.339  - script.js.common.Timer217: Reaching SetTimer(whichone=,2 GoToTommorrow=false)
          2020-08-03 19:17:14.339  - script.js.common.Timer217: Reaching CreateTimerTargetsNameList()
          2020-08-03 19:17:14.340  - script.js.common.Timer217: Original TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:17:14.342  - script.js.common.Timer217: Possible Target are:hue.0.Play2_Wohnzimmer.on,hue.0.Strip_Wohnzimmer.on
          2020-08-03 19:17:14.343  - script.js.common.Timer217: New TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:17:14.343  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:14.598  - script.js.common.Timer217: AddTimer triggered, val=false
          2020-08-03 19:17:15.910  - script.js.common.Timer217: AddTimer triggered, val=true
          2020-08-03 19:17:15.911  - script.js.common.Timer217: Reaching AddNewTimer
          2020-08-03 19:17:15.912  - script.js.common.Timer217: Timercount=4
          2020-08-03 19:17:15.918  - script.js.common.Timer217: Reaching CreateTimerCountList()
          2020-08-03 19:17:16.077  - script.js.common.Timer217: Reaching WriteToTemplate(whichone), whichone=3
          2020-08-03 19:17:16.081  - script.js.common.Timer217: Typeof MyTimer[3]=undefined
          2020-08-03 19:17:16.089  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=2 TimerCount=4 onoff=false
          2020-08-03 19:17:16.091  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:16.097  - script.js.common.Timer217: Timertemplate changed to 3
          2020-08-03 19:17:16.234  - script.js.common.Timer217: Timer CreateState(s) finished!
          2020-08-03 19:17:16.236  - script.js.common.Timer217: Reaching SetTimer(whichone=,3 GoToTommorrow=false)
          2020-08-03 19:17:16.237  - script.js.common.Timer217: Reaching CreateTimerTargetsNameList()
          2020-08-03 19:17:16.239  - script.js.common.Timer217: Original TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:17:16.241  - script.js.common.Timer217: Possible Target are:hue.0.Play2_Wohnzimmer.on,hue.0.Strip_Wohnzimmer.on
          2020-08-03 19:17:16.242  - script.js.common.Timer217: New TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:17:16.242  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:16.423  - script.js.common.Timer217: AddTimer triggered, val=false
          2020-08-03 19:17:19.448  - script.js.common.Timer217: Reaching WriteToTemplate(whichone), whichone=0
          2020-08-03 19:17:19.450  - script.js.common.Timer217: Typeof MyTimer[0]=object
          2020-08-03 19:17:19.454  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=3 TimerCount=4 onoff=false
          2020-08-03 19:17:19.454  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:19.455  - script.js.common.Timer217: Timertemplate changed to 0
          2020-08-03 19:17:29.844  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=4 onoff=true
          2020-08-03 19:17:29.845  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:41.885  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=4 onoff=true
          2020-08-03 19:17:41.885  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:47.343  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=4 onoff=true
          2020-08-03 19:17:47.343  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:47.344  - script.js.common.Timer217: Template TimerTarget changed, typeof=string Wert=hue.0.Strip_Wohnzimmer.on
          2020-08-03 19:17:47.350  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=4 onoff=true
          2020-08-03 19:17:47.350  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:49.677  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=4 onoff=true
          2020-08-03 19:17:49.677  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:51.766  - script.js.common.Timer217: Reaching WriteToTimer, whichone=0
          2020-08-03 19:17:51.772  - script.js.common.Timer217: Reaching CreateTimerTargetsNameList()
          2020-08-03 19:17:51.772  - script.js.common.Timer217: Original TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:17:51.773  - script.js.common.Timer217: Possible Target are:hue.0.Play2_Wohnzimmer.on,hue.0.Strip_Wohnzimmer.on
          2020-08-03 19:17:51.775  - script.js.common.Timer217: New TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:17:51.775  - script.js.common.Timer217: CreateTimerTargetsNameList() refresh done, MyTimerTemplate[17].indexOf(TargetNames)=-1
          2020-08-03 19:17:51.777  - script.js.common.Timer217: Timer Schedule 1 killed
          2020-08-03 19:17:51.777  - script.js.common.Timer217: Reaching SetTimer(whichone=,0 GoToTommorrow=false)
          2020-08-03 19:17:51.778  - script.js.common.Timer217: Timer 1 will be set, GoToTommorrow=false
          2020-08-03 19:17:51.779  - script.js.common.Timer217: Reaching CreateTimeDaysString(whichone=0)
          2020-08-03 19:17:51.780  - script.js.common.Timer217: Reaching MakeCronString(whichone=0)
          2020-08-03 19:17:51.781  - script.js.common.Timer217: CronString for Timer 1 created 00 22 19 * * *
          2020-08-03 19:17:51.796  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=4 onoff=false
          2020-08-03 19:17:51.797  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:51.799  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:52.801  - script.js.common.Timer217: Settings saved
          2020-08-03 19:17:53.963  - script.js.common.Timer217: Reaching WriteToTemplate(whichone), whichone=1
          2020-08-03 19:17:53.965  - script.js.common.Timer217: Typeof MyTimer[1]=object
          2020-08-03 19:17:53.970  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=4 onoff=false
          2020-08-03 19:17:53.970  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:53.971  - script.js.common.Timer217: Timertemplate changed to 1
          2020-08-03 19:17:54.049  - script.js.common.Timer217: Template TimerTarget changed, typeof=string Wert=
          2020-08-03 19:17:55.383  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=4 onoff=true
          2020-08-03 19:17:55.384  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:17:56.812  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=4 onoff=true
          2020-08-03 19:17:56.813  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:08.028  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=4 onoff=true
          2020-08-03 19:18:08.029  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:10.932  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=4 onoff=true
          2020-08-03 19:18:10.933  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:10.934  - script.js.common.Timer217: Template TimerTarget changed, typeof=string Wert=hue.0.Strip_Wohnzimmer.on
          2020-08-03 19:18:10.942  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=4 onoff=true
          2020-08-03 19:18:10.943  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:12.015  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=4 onoff=true
          2020-08-03 19:18:12.015  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:13.210  - script.js.common.Timer217: Reaching WriteToTimer, whichone=1
          2020-08-03 19:18:13.214  - script.js.common.Timer217: Reaching CreateTimerTargetsNameList()
          2020-08-03 19:18:13.215  - script.js.common.Timer217: Original TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:18:13.216  - script.js.common.Timer217: Possible Target are:hue.0.Play2_Wohnzimmer.on,hue.0.Strip_Wohnzimmer.on
          2020-08-03 19:18:13.216  - script.js.common.Timer217: New TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:18:13.217  - script.js.common.Timer217: CreateTimerTargetsNameList() refresh done, MyTimerTemplate[17].indexOf(TargetNames)=-1
          2020-08-03 19:18:13.217  - script.js.common.Timer217: Timer Schedule 2 killed
          2020-08-03 19:18:13.217  - script.js.common.Timer217: Reaching SetTimer(whichone=,1 GoToTommorrow=false)
          2020-08-03 19:18:13.218  - script.js.common.Timer217: Timer 2 will be set, GoToTommorrow=false
          2020-08-03 19:18:13.218  - script.js.common.Timer217: Reaching CreateTimeDaysString(whichone=1)
          2020-08-03 19:18:13.220  - script.js.common.Timer217: Reaching MakeCronString(whichone=1)
          2020-08-03 19:18:13.220  - script.js.common.Timer217: CronString for Timer 2 created 30 22 19 * * *
          2020-08-03 19:18:13.225  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=4 onoff=false
          2020-08-03 19:18:13.226  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:13.226  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:14.228  - script.js.common.Timer217: Settings saved
          2020-08-03 19:18:16.478  - script.js.common.Timer217: Reaching WriteToTemplate(whichone), whichone=2
          2020-08-03 19:18:16.478  - script.js.common.Timer217: Typeof MyTimer[2]=object
          2020-08-03 19:18:16.481  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=4 onoff=false
          2020-08-03 19:18:16.482  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:16.482  - script.js.common.Timer217: Timertemplate changed to 2
          2020-08-03 19:18:16.497  - script.js.common.Timer217: Template TimerTarget changed, typeof=string Wert=
          2020-08-03 19:18:21.838  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=2 TimerCount=4 onoff=true
          2020-08-03 19:18:21.840  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:30.710  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=2 TimerCount=4 onoff=true
          2020-08-03 19:18:30.711  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:32.548  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=2 TimerCount=4 onoff=true
          2020-08-03 19:18:32.548  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:32.549  - script.js.common.Timer217: Template TimerTarget changed, typeof=string Wert=hue.0.Play2_Wohnzimmer.on
          2020-08-03 19:18:32.555  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=2 TimerCount=4 onoff=true
          2020-08-03 19:18:32.556  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:34.174  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=2 TimerCount=4 onoff=true
          2020-08-03 19:18:34.174  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:34.744  - script.js.common.Timer217: Reaching WriteToTimer, whichone=2
          2020-08-03 19:18:34.754  - script.js.common.Timer217: Reaching CreateTimerTargetsNameList()
          2020-08-03 19:18:34.755  - script.js.common.Timer217: Original TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:18:34.756  - script.js.common.Timer217: Possible Target are:hue.0.Play2_Wohnzimmer.on,hue.0.Strip_Wohnzimmer.on
          2020-08-03 19:18:34.756  - script.js.common.Timer217: New TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:18:34.757  - script.js.common.Timer217: CreateTimerTargetsNameList() refresh done, MyTimerTemplate[17].indexOf(TargetNames)=-1
          2020-08-03 19:18:34.757  - script.js.common.Timer217: Timer Schedule 3 killed
          2020-08-03 19:18:34.758  - script.js.common.Timer217: Reaching SetTimer(whichone=,2 GoToTommorrow=false)
          2020-08-03 19:18:34.758  - script.js.common.Timer217: Timer 3 will be set, GoToTommorrow=false
          2020-08-03 19:18:34.759  - script.js.common.Timer217: Reaching CreateTimeDaysString(whichone=2)
          2020-08-03 19:18:34.760  - script.js.common.Timer217: Reaching MakeCronString(whichone=2)
          2020-08-03 19:18:34.760  - script.js.common.Timer217: CronString for Timer 3 created 00 23 19 * * *
          2020-08-03 19:18:34.762  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=2 TimerCount=4 onoff=false
          2020-08-03 19:18:34.763  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:34.764  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:35.765  - script.js.common.Timer217: Settings saved
          2020-08-03 19:18:37.496  - script.js.common.Timer217: Reaching WriteToTemplate(whichone), whichone=3
          2020-08-03 19:18:37.497  - script.js.common.Timer217: Typeof MyTimer[3]=object
          2020-08-03 19:18:37.501  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=2 TimerCount=4 onoff=false
          2020-08-03 19:18:37.501  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:37.503  - script.js.common.Timer217: Timertemplate changed to 3
          2020-08-03 19:18:37.521  - script.js.common.Timer217: Template TimerTarget changed, typeof=string Wert=
          2020-08-03 19:18:38.648  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=3 TimerCount=4 onoff=true
          2020-08-03 19:18:38.649  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:40.181  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=3 TimerCount=4 onoff=true
          2020-08-03 19:18:40.182  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:50.408  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=3 TimerCount=4 onoff=true
          2020-08-03 19:18:50.409  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:18:59.362  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=3 TimerCount=4 onoff=true
          2020-08-03 19:18:59.363  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:19:01.614  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=3 TimerCount=4 onoff=true
          2020-08-03 19:19:01.615  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:19:01.616  - script.js.common.Timer217: Template TimerTarget changed, typeof=string Wert=hue.0.Play2_Wohnzimmer.on
          2020-08-03 19:19:01.621  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=3 TimerCount=4 onoff=true
          2020-08-03 19:19:01.621  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:19:03.488  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=3 TimerCount=4 onoff=true
          2020-08-03 19:19:03.488  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:19:04.640  - script.js.common.Timer217: Reaching WriteToTimer, whichone=3
          2020-08-03 19:19:04.653  - script.js.common.Timer217: Reaching CreateTimerTargetsNameList()
          2020-08-03 19:19:04.653  - script.js.common.Timer217: Original TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:19:04.654  - script.js.common.Timer217: Possible Target are:hue.0.Play2_Wohnzimmer.on,hue.0.Strip_Wohnzimmer.on
          2020-08-03 19:19:04.655  - script.js.common.Timer217: New TargetNames are:Play2_Wohnzimmer,Strip_Wohnzimmer
          2020-08-03 19:19:04.655  - script.js.common.Timer217: CreateTimerTargetsNameList() refresh done, MyTimerTemplate[17].indexOf(TargetNames)=-1
          2020-08-03 19:19:04.655  - script.js.common.Timer217: Timer Schedule 4 killed
          2020-08-03 19:19:04.656  - script.js.common.Timer217: Reaching SetTimer(whichone=,3 GoToTommorrow=false)
          2020-08-03 19:19:04.656  - script.js.common.Timer217: Timer 4 will be set, GoToTommorrow=false
          2020-08-03 19:19:04.657  - script.js.common.Timer217: Reaching CreateTimeDaysString(whichone=3)
          2020-08-03 19:19:04.657  - script.js.common.Timer217: Reaching MakeCronString(whichone=3)
          2020-08-03 19:19:04.657  - script.js.common.Timer217: CronString for Timer 4 created 30 23 19 * * *
          2020-08-03 19:19:04.661  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=3 TimerCount=4 onoff=false
          2020-08-03 19:19:04.662  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:19:04.663  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:19:05.663  - script.js.common.Timer217: Settings saved
          2020-08-03 19:19:36.910  - script.js.common.Timer217: Reaching WriteToTemplate(whichone), whichone=2
          2020-08-03 19:19:36.911  - script.js.common.Timer217: Typeof MyTimer[2]=object
          2020-08-03 19:19:36.916  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=3 TimerCount=4 onoff=false
          2020-08-03 19:19:36.917  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:19:36.917  - script.js.common.Timer217: Timertemplate changed to 2
          2020-08-03 19:20:23.227  - script.js.common.Timer217: Reaching DeleteTimer(whichone), whichone=2
          2020-08-03 19:20:23.229  - script.js.common.Timer217: Timer Schedule 3 killed
          2020-08-03 19:20:23.230  - script.js.common.Timer217: Reaching CreateTimerCountList()
          2020-08-03 19:20:23.241  - script.js.common.Timer217: Now Delete last channel=javascript.0.Timer.3
          2020-08-03 19:20:23.242  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:20:49.091  - script.js.common.Timer217: Reaching WriteToTemplate(whichone), whichone=1
          2020-08-03 19:20:49.092  - script.js.common.Timer217: Typeof MyTimer[1]=object
          2020-08-03 19:20:49.095  - script.js.common.Timer217: Reaching SwitchEditMode(whichone, onoff), whichonex=2 TimerCount=3 onoff=false
          2020-08-03 19:20:49.095  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:20:49.096  - script.js.common.Timer217: Timertemplate changed to 1
          2020-08-03 19:20:51.297  - script.js.common.Timer217: Reaching DeleteTimer(whichone), whichone=1
          2020-08-03 19:20:51.298  - script.js.common.Timer217: Timer Schedule 2 killed
          2020-08-03 19:20:51.299  - script.js.common.Timer217: Reaching CreateTimerCountList()
          2020-08-03 19:20:51.304  - script.js.common.Timer217: Now Delete last channel=javascript.0.Timer.2
          2020-08-03 19:20:51.305  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:22:00.016  - script.js.common.Timer217: Reaching DoAction(), aktiv=true Rolle=1 whichone=0 Presence=true MyTimer[whichone][13]=hue.0.Play2_Wohnzimmer.on MyTimer[whichone][14]=true
          2020-08-03 19:22:00.017  - script.js.common.Timer217: Timer 1, Play2_Wohnzimmer, switched on
          2020-08-03 19:22:00.018  - script.js.common.Timer217: Reaching SetLockStates() TriggerIndex=-1 SwitchingTimerIndex=0
          2020-08-03 19:22:00.019  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:22:00.027  - script.js.common.Skript_1: hue.0.Play2_Wohnzimmer.onStatus: true
          2020-08-03 19:22:30.016  - script.js.common.Timer217: Reaching DoAction(), aktiv=true Rolle=0 whichone=1 Presence=true MyTimer[whichone][13]=hue.0.Play2_Wohnzimmer.on MyTimer[whichone][14]=true
          2020-08-03 19:22:30.017  - script.js.common.Timer217: Timer 2, Play2_Wohnzimmer, switched off
          2020-08-03 19:22:30.017  - script.js.common.Timer217: Reaching SetLockStates() TriggerIndex=-1 SwitchingTimerIndex=1
          2020-08-03 19:22:30.018  - script.js.common.Timer217: Reaching MakeTable
          2020-08-03 19:22:30.023  - script.js.common.Skript_1: hue.0.Play2_Wohnzimmer.onStatus: false
          2020-08-03 19:23:30.023  -  Error in callback: TypeError: Cannot read property '0' of undefined
          2020-08-03 19:23:30.024  -      at DoAction (script.js.common.Timer217:665:71)
          2020-08-03 19:23:30.025  -      at Object.<anonymous> (script.js.common.Timer217:608:13)
          2020-08-03 19:23:30.025  -      at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1270:34)
          2020-08-03 19:23:30.026  -      at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          2020-08-03 19:23:30.026  -      at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          2020-08-03 19:23:30.027  -      at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          2020-08-03 19:23:30.027  -      at listOnTimeout (internal/timers.js:549:17)
          2020-08-03 19:23:30.028  -      at processTimers (internal/timers.js:492:7)
          2020-08-03 19:27:31.496  - Stop script script.js.common.Timer217
          2020-08-03 19:27:31.498  - script.js.common.Timer217: Timer Schedule 1 killed
          2020-08-03 19:27:31.498  - script.js.common.Timer217: Timer Schedule 2 killed
          
          

          Lass mich doch wissen, was ich evtl. zusätzlich mitloggen soll um den Fehler einzugrenzen

          P 1 Reply Last reply Reply Quote 0
          • F
            fastfoot @Pittini last edited by

            @Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:

            Der Fehler is atypisch und bisher noch bei niemand aufgetreten. Ich kanns leider auch nicht reproduzieren

            Das verstehe ich nicht, das konnte so nicht funktionieren. Ich habe den Fehler jetzt gefunden, er steckt in der Funktion DeleteTimer() und fällt auf, wenn aus der Mitte des Arrays ein Timer gelöscht wird. Dabei ist mir auch aufgefallen, dass es der unterschiedlichen Behandlung der Arraypositionen nicht bedarf. Folgende Zeile(hier 10) deckt alle Fälle ab

                /*if (whichone == 0) { //Erster Eintrag des Arrays soll gelöscht werden
                    NewArray = MyTimer.slice(whichone + 1, TimerCount);
                }
                else if (whichone == TimerCount - 1) {//Letzter Eintrag des Arrays soll gelöscht werden
                    NewArray = MyTimer.slice(0, whichone);
                }
                else { //Eintrag aus der Mitte des Array soll gelöscht werden
                    NewArray = TempArray.concat(MyTimer.slice(0, whichone - 1), MyTimer.slice(whichone, TimerCount));
                };*/
                NewArray = TempArray.concat(MyTimer.slice(0, whichone), MyTimer.slice(whichone + 1));
            
            

            Damit baut sich die Tabelle nach dem Löschen jetzt richtig auf und auch die Timer stimmen danach.

            P 1 Reply Last reply Reply Quote 0
            • B
              Baerny @Pittini last edited by

              @Pittini Hallo Pittini, ich würde gerne als Schaltziel einen "Alias" nehmen. wie ich gesehen und getestet habe ist dies auch möglich. Jedoch wird mit immer nur als Name "Stammordner für Alias, sh. Screenshot" angezeigt und das auch nur für Datenpunkte die in der ersten Ebene liegen. Was mache ich falsch ?
              1.png
              Gruß Baerny

              P 1 Reply Last reply Reply Quote 0
              • P
                Pittini Developer @Baerny last edited by

                @Baerny sagte in [Vorlage] Flexibles Timerskript + Vis:

                Hallo Pittini, ich würde gerne als Schaltziel einen "Alias" nehmen. wie ich gesehen und getestet habe ist dies auch möglich. Jedoch wird mit immer nur als Name "Stammordner für Alias, sh. Screenshot" angezeigt und das auch nur für Datenpunkte die in der ersten Ebene liegen. Was mache ich falsch ?

                Du machst nix falsch, Alias Ordner isn Sonderfall. Normalerweise ist der übergeordnete Channel eines Dps, der mit dem Namen, deswegen nimmt das Skript defaultmäßig dann diesen. Du hast jetzt 2 Lösungswege. Entweder Du benutzt benutzerdefinierte Namen oder Du nutzt im Skript unter Optionen die Variante in Zeile 10 und stellst die auf false. Letzteres gilt dann aber global.

                B 1 Reply Last reply Reply Quote 0
                • P
                  Pittini Developer @fastfoot last edited by

                  @fastfoot sagte in [Vorlage] Flexibles Timerskript + Vis:

                  @Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:

                  Der Fehler is atypisch und bisher noch bei niemand aufgetreten. Ich kanns leider auch nicht reproduzieren. Da Du aber ne Fehlermeldung hast, würd ich mich gern erst mal da drum kümmern (also genau andersrum als Du dachtest). Poste bitte mal das Log wenn der Fehler auftritt.

                  Also ich habe ein komplett neues System aufgesetzt, nur mit JS und Hue-Adapter und VIS, Hier nochmal die Ausgangssituation, diesmal mit Zeiten
                  Timer11.PNG

                  Gelöscht wird nun Timer3(Play2), in der VIS verschwindet jedoch Timer2
                  Timer22.PNG

                  Nun lösche ich wieder die Play2(nun Timer2), in der VIS verschwindet jedoch Timer1
                  Timer33.PNG

                  Was jetzt aber absolut unverständlich ist, die originalen Zeiten der ersten beiden Timer wurden mit den verbleibenden Zielen gemischt, d.h. die Play2 geht um 19:22:00 an und um 19:22:30 aus, wie es eigentlich für den Strip gescheduled war. (siehe auch LOG Zeilen 219 + 224). Der gestern beschriebene Fehler erscheint zur Zeit des originalen Timers 4(in Bild3 Timer2)

                  Kann wer anders diesen Fehler, bzw. Probleme beim löschen bestätigen?

                  F 1 Reply Last reply Reply Quote 0
                  • B
                    Baerny @Pittini last edited by

                    @Pittini Danke, werde ich mal testen

                    1 Reply Last reply Reply Quote 0
                    • F
                      fastfoot @Pittini last edited by

                      @Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:

                      Kann wer anders diesen Fehler, bzw. Probleme beim löschen bestätigen?

                      Evtl. hast Du es ja überlesen, aber ich habe mittlerweile schon gezeigt, dass es sich um einen Fehler im Skript handelt, und der muss jeden Nutzer betreffen. Mich verwundert, wieso das nicht nachvollziehbar sein soll, es fällt doch schon rein optisch auf.

                      1 Reply Last reply Reply Quote 0
                      • P
                        Pittini Developer @fastfoot last edited by

                        @fastfoot sagte in [Vorlage] Flexibles Timerskript + Vis:

                        Damit baut sich die Tabelle nach dem Löschen jetzt richtig auf und auch die Timer stimmen danach.

                        Muß ich mir bei Gelegenheit noch mal in Ruhe anschauen. Aber Du darfst mir glauben, ich hab hier drölfzich Timer erstellt und gelöscht, sowohl beim testen als auch im Produktivbetrieb und es hat mit dem alten Code immer gepasst. Aber ich werd gern Deine Variante mal durchtesten, wie die sich dann verhält wenns der erste oder letzte Timer ist.

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          fastfoot @Pittini last edited by

                          @Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:

                          @fastfoot sagte in [Vorlage] Flexibles Timerskript + Vis:

                          Damit baut sich die Tabelle nach dem Löschen jetzt richtig auf und auch die Timer stimmen danach.

                          Muß ich mir bei Gelegenheit noch mal in Ruhe anschauen. Aber Du darfst mir glauben, ich hab hier drölfzich Timer erstellt und gelöscht, sowohl beim testen als auch im Produktivbetrieb und es hat mit dem alten Code immer gepasst. Aber ich werd gern Deine Variante mal durchtesten, wie die sich dann verhält wenns der erste oder letzte Timer ist.

                          Hiermit kannst du sehr leicht prüfen, was mit der Originalversion falsch läuft und dass meine Variante funktioniert, es ist die abgespeckte DeleteTimer() Funktion und es wird aus einem Array mit 4 Feldern immer ein Feld gelöscht, von 0-3

                          let MyTimer = ['T0','T1','T2','T3'];
                          let TimerCount = MyTimer.length;
                          
                          function DeleteTimer(whichone, x){
                              let TempArray = [];
                              let NewArray = [];
                          
                              if (whichone == 0) { //Erster Eintrag des Arrays soll gelöscht werden
                                  NewArray = MyTimer.slice(whichone + 1, TimerCount);
                                  if(x)log('Richtig => ' + whichone + ' ' + NewArray);
                              }
                              else if (whichone == TimerCount - 1) {//Letzter Eintrag des Arrays soll gelöscht werden
                                  NewArray = MyTimer.slice(0, whichone);
                                  if(x)log('Richtig => ' + whichone + ' ' + NewArray);
                              }
                              else { //Eintrag aus der Mitte des Array soll gelöscht werden
                                  NewArray = TempArray.concat(MyTimer.slice(0, whichone - 1), MyTimer.slice(whichone, TimerCount));
                                  if(x)log('Falsch => ' + whichone + ' ' + NewArray);
                              };
                          
                              NewArray = TempArray.concat(MyTimer.slice(0, whichone), MyTimer.slice(whichone + 1));
                              if(!x)log('Richtig => ' + whichone + ' ' + NewArray);
                          
                              //MyTimer = NewArray;
                              //MakeTable();
                          }
                          log('Original');
                          for(let i = 0; i < TimerCount; i++){
                              DeleteTimer(i,1);
                          }
                          log('nach Änderung');
                          for(let i = 0; i < TimerCount; i++){
                              DeleteTimer(i,0);
                          }
                          
                          1 Reply Last reply Reply Quote 0
                          • gelberlemmy
                            gelberlemmy @Pittini last edited by

                            @Pittini einen grossen Dank an Deine persönliche Hilfe über Fernverwaltung. Fehler ist gefunden. Das Problem lag an meiner Tabs Vorlage. Wie auf meinen Screenshots zu sehen ist, habe ich oberhalb der VIS Tabs der einzelnen Seiten. Dort muss es einen Bug geben. Wenn wir dies ohne diese Tabs Voreinstellung ausführen besteht der Fehler nicht.
                            HERZLICHEN DANK 👍 💯

                            1 Reply Last reply Reply Quote 0
                            • S
                              Saschag last edited by

                              @Pittini

                              Ich habe häufiger das Problem dass der Javascriptadapter abstürzt beim hinzufügen eines neuen Timers

                              javascript.0	2020-08-15 22:20:03.237	info	(10516) received all objects
                              javascript.0	2020-08-15 22:20:01.859	info	(10516) received all states
                              javascript.0	2020-08-15 22:19:59.847	info	(10516) requesting all objects
                              javascript.0	2020-08-15 22:19:59.845	info	(10516) requesting all states
                              javascript.0	2020-08-15 22:19:59.751	info	(10516) starting. Version 4.6.17 in /opt/iobroker/node_modules/iobroker.javascript, node: v12.18.3, js-controller: 3.1.6
                              javascript.0	2020-08-15 22:19:26.560	error	(8468) at processTicksAndRejections (internal/process/task_queues.js:97:5)
                              javascript.0	2020-08-15 22:19:26.560	error	(8468) at runMicrotasks (<anonymous>)
                              javascript.0	2020-08-15 22:19:26.560	error	(8468) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
                              javascript.0	2020-08-15 22:19:26.559	error	(8468) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                              javascript.0	2020-08-15 22:19:26.559	error	(8468) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:547:55
                              javascript.0	2020-08-15 22:19:26.559	error	(8468) at script.js.Timer.TimerV217:260:17
                              javascript.0	2020-08-15 22:19:26.559	error	(8468) at FillTimerArray (script.js.Timer.TimerV217:281:9)
                              javascript.0	2020-08-15 22:19:26.559	error	(8468) at CreateDeviceTrigger (script.js.Timer.TimerV217:1056:5)
                              javascript.0	2020-08-15 22:19:26.558	error	(8468) at on (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1151:28)
                              javascript.0	2020-08-15 22:19:26.558	error	(8468) at Object.subscribe (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:973:112)
                              javascript.0	2020-08-15 22:19:26.557	error	(8468) script.js.Timer.TimerV217: TypeError: Cannot read property 'period' of null
                              

                              Eine Idee und Danke im Voraus

                              P 1 Reply Last reply Reply Quote 0
                              • P
                                Pittini Developer @Saschag last edited by

                                @Saschag sagte in [Vorlage] Flexibles Timerskript + Vis:

                                Eine Idee und Danke im Voraus

                                N komplettes Log wär schon hilfreich.

                                1 Reply Last reply Reply Quote 0
                                • R
                                  rotamint last edited by

                                  Hallo, guten Abend zusammen! Ich brauche bitte (mal wieder) Eure Hilfe. Ich habe den Aktor der Poolpumpe getauscht und einen neuen Namen vergeben. Die Timer haben sich nicht löschen lassen, daher habe ich in der Java-Instanz alles gelöscht ....

                                  timer1.JPG

                                  Auch das Script habe ich neu installiert, auch wenn ich nicht wüsste, in welchem Zusammenhang es stehen sollte, dass ich immernoch folgende Meldung erhalte

                                  timer-immernochpumpeda.JPG

                                  Sonoff.0.Poolpumpe war der alte Aktor, der existiert nicht mehr, und ich bin der Meinung, ich habe auch alles entsprechend gelöscht.

                                  Wer hat eine Idee, wo der Fehler versteckt sein könnte?

                                  Danke für Eure Hilfe!

                                  Schönen Abend, Gruß Stefan.

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    Pittini Developer @rotamint last edited by

                                    @rotamint sagte in [Vorlage] Flexibles Timerskript + Vis:

                                    Wer hat eine Idee, wo der Fehler versteckt sein könnte?

                                    Das sieht mir nach ner Leiche in den Aufzählungen aus. Wenn man nen Dp löscht, der ner Funktion zugeordnet war, wird diese Zuordnung manchmal nicht gelöscht. Geh mal in Aufzählungen > Funktionen und kontrollier bei TimerTarget ob da der alte Dp noch aufgeführt ist. Wenn ja, dort löschen, dann sollte es wieder klappen.

                                    R 1 Reply Last reply Reply Quote 0
                                    • R
                                      rotamint @Pittini last edited by

                                      @Pittini Perfekt! Wieder einmal vielen Dank für Deine schnelle & kompetente Hilfe. Genau dort hatte sich der Fehler versteckt 🙂

                                      Danke. Stefan.

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        deta Most Active @Pittini last edited by

                                        Hallo, ich hab auch mal was wieder 🙂

                                        @Pittini , gestern warum auch immer waren alle einzelnen Positionen weg. Vielleicht hat es mit dem Skript Engerie Update gestern zu tun gehabt, es kam ja heute bereits wieder ein Update davon.
                                        Wie auch immer es waren alle Postionen weg 😞
                                        Musste alle wieder neu eintragen, wollte kein Backup der letzten Tage komplett wieder einspielen.
                                        Es geht wieder alles.
                                        Was super wäre:

                                        1. Backup Möglichkeit der einzelnen Positionen, einfach irgendwo ein Button, draufklicken und die Postionen werden gespeichert. Sollte es noch mal passieren, Restore Button um die Positionen wieder einzuspielen. Dann spart man sich die ganze Arbeit.

                                        2. Sortierung nach Zeit der Positionen. Das diese ggf. nicht durcheinander sind. z.b. hab ich vergessen einmal eine Ausschaltzeit einzugeben, kann man nachträglich, aber dann ist diese an der letzten Position.

                                        So das war erst mal. Vielleicht kann man gelegentlich mal Einbauen.
                                        Danke

                                        P 1 Reply Last reply Reply Quote 0
                                        • P
                                          Pittini Developer @deta last edited by

                                          @deta sagte in [Vorlage] Flexibles Timerskript + Vis:

                                          Was super wäre:

                                          Backup Möglichkeit der einzelnen Positionen, einfach irgendwo ein Button, draufklicken und die Postionen werden gespeichert. Sollte es noch mal passieren, Restore Button um die Positionen wieder einzuspielen. Dann spart man sich die ganze Arbeit.

                                          Sortierung nach Zeit der Positionen. Das diese ggf. nicht durcheinander sind. z.b. hab ich vergessen einmal eine Ausschaltzeit einzugeben, kann man nachträglich, aber dann ist diese an der letzten Position.

                                          So das war erst mal. Vielleicht kann man gelegentlich mal Einbauen.

                                          Hm, sorry, wirds beides nicht geben, aus unterschiedlichen Gründen.
                                          Backup wirds nicht geben weil, der Datenverlust kam ja nicht durchn Skriptfehler. In dem Fall wäre der einfachste Backup Weg wohln Screenshot, dann ist das doch fix wieder eingetragen. Von wieviel Timern sprechen wir denn?
                                          Die Sache mit dem sortieren nach Zeit fände ich sinnvoll, hab auch schon mal drüber nachgedacht, war mir aber ehrlich gesagt zuviel Aufwand. Mal sehen, vieleicht is mir ja mal langweilig 😊 .

                                          D Dominik F. 2 Replies Last reply Reply Quote 0
                                          • D
                                            deta Most Active @Pittini last edited by

                                            @Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:

                                            @deta sagte in [Vorlage] Flexibles Timerskript + Vis:

                                            Was super wäre:

                                            Backup Möglichkeit der einzelnen Positionen, einfach irgendwo ein Button, draufklicken und die Postionen werden gespeichert. Sollte es noch mal passieren, Restore Button um die Positionen wieder einzuspielen. Dann spart man sich die ganze Arbeit.

                                            Sortierung nach Zeit der Positionen. Das diese ggf. nicht durcheinander sind. z.b. hab ich vergessen einmal eine Ausschaltzeit einzugeben, kann man nachträglich, aber dann ist diese an der letzten Position.

                                            So das war erst mal. Vielleicht kann man gelegentlich mal Einbauen.

                                            Hm, sorry, wirds beides nicht geben, aus unterschiedlichen Gründen.
                                            Backup wirds nicht geben weil, der Datenverlust kam ja nicht durchn Skriptfehler. In dem Fall wäre der einfachste Backup Weg wohln Screenshot, dann ist das doch fix wieder eingetragen. Von wieviel Timern sprechen wir denn?

                                            War nicht das große drama, aber wäre eine gute Erleichterung, kommt ja nicht jeden Tag vor, aber warum das mit einmal weg war, keine Ahnung. Alles andere lief.

                                            Die Sache mit dem sortieren nach Zeit fände ich sinnvoll, hab auch schon mal drüber nachgedacht, war mir aber ehrlich gesagt zuviel Aufwand. Mal sehen, vieleicht is mir ja mal langweilig 😊 .

                                            Jup, hat ja keine Eile 🙂 So wie du Lust und Laune hast.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            966
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript template
                                            40
                                            500
                                            75926
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo