Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst] Beste Vorgehensweise???

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    890

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[gelöst] Beste Vorgehensweise???

Geplant Angeheftet Gesperrt Verschoben JavaScript
15 Beiträge 8 Kommentatoren 997 Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S skorpil

    Bei mir laufen inzwischen diverse JavaScripte, die aber, wenn ich im Urlaub oder "abwesend" bin, nicht notwendigerweise laufen müssen.

    Ich habe mir überlegt, dass es prinzipiell mehrere Wege gibt, damit umzugehen:

    • man erstellt eine Variable "Urlaub" und läßt in jedem Script prüfen, ob sie "true" ist.
    • man erstellt ein "Urlaubsscript", das ebenfalls auf "Urlaub" reagiert, und schaltet für die Urlaubsdauer nicht benötigte Scripte mit "stopScript(scriptId)" und startScript(scriptId) ein und aus

    Ich würde von den Fachleuten gerne wissen, welche Vorgehensweise sinnvoll ist und empfohlen wird. Oder gibt es weitere Möglichkeiten, sich dieses Themas zu nähern?

    Dank Euch für Eure Hilfe schon mal vorab.

    AsgothianA Offline
    AsgothianA Offline
    Asgothian
    Developer
    schrieb am zuletzt editiert von
    #3

    @skorpil

    Der erste Ansatz ist ganz klar zu bevorzugen, wobei eine Variable nicht reichen wird - es muss schon ein Datenpunkt unter (ggf. unter 0_userdata.0) sein.

    Ansonsten würde ich empfehlen die Skripte nach "Aufgaben" zu gruppieren, nicht nach "hat was mit Urlaub zu tun" - damit wird ein anhalten der für den Urlaub relevanten Skriptteile eher schwierig. Schliesslich kann ein Skript ja durchaus mehrere Funktionen abarbeiten, wovon einige bei Urlaub anders ablaufen als normal.

    A.

    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

    1 Antwort Letzte Antwort
    1
    • S skorpil

      Bei mir laufen inzwischen diverse JavaScripte, die aber, wenn ich im Urlaub oder "abwesend" bin, nicht notwendigerweise laufen müssen.

      Ich habe mir überlegt, dass es prinzipiell mehrere Wege gibt, damit umzugehen:

      • man erstellt eine Variable "Urlaub" und läßt in jedem Script prüfen, ob sie "true" ist.
      • man erstellt ein "Urlaubsscript", das ebenfalls auf "Urlaub" reagiert, und schaltet für die Urlaubsdauer nicht benötigte Scripte mit "stopScript(scriptId)" und startScript(scriptId) ein und aus

      Ich würde von den Fachleuten gerne wissen, welche Vorgehensweise sinnvoll ist und empfohlen wird. Oder gibt es weitere Möglichkeiten, sich dieses Themas zu nähern?

      Dank Euch für Eure Hilfe schon mal vorab.

      CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #4

      @skorpil
      Variante 1 ist die bessere.

      Ich werfe aber mal eine dritte ins Rennen:
      Ich habe eine ical-Instanz, die einen ganz bestimmten Kalender abfragt.
      Steht dort an einem Tag "Urlaub", reagieren die Scripte anders als üblich.
      Hat den Vorteil, dass auch die Gattin den (geteilten) Kalender pflegen kann ;-)

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      1 Antwort Letzte Antwort
      1
      • S Offline
        S Offline
        skorpil
        schrieb am zuletzt editiert von
        #5

        @codierknecht ist das wirklich eine dritte? Du arbeitest dann doch sicher auch mit einem Datenpunkt/ variable? Aber die Idee ist genial.

        Schön wäre es, noch zu wissen, warum ihr alle die Variante eins präferiert? Das mit dem neue Laden habe ich ja gerafft, gibt es aber noch andere Argumente? Ich habe das Problem, immer verstehen zu wollen, warum etwas so oder so gelöst wird. ;-)

        Danke an alle @Asgothian @Homoran @Codierknecht

        OliverIOO CodierknechtC 2 Antworten Letzte Antwort
        0
        • S skorpil

          @codierknecht ist das wirklich eine dritte? Du arbeitest dann doch sicher auch mit einem Datenpunkt/ variable? Aber die Idee ist genial.

          Schön wäre es, noch zu wissen, warum ihr alle die Variante eins präferiert? Das mit dem neue Laden habe ich ja gerafft, gibt es aber noch andere Argumente? Ich habe das Problem, immer verstehen zu wollen, warum etwas so oder so gelöst wird. ;-)

          Danke an alle @Asgothian @Homoran @Codierknecht

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #6

          @skorpil sagte in Beste Vorgehensweise???:

          Die erste ist es die flexibelste. Wenn du jetzt noch mehr Bedingungen hast, wie Tag/Nacht, Wochentag/Wochenende, dann reicht das mit dem an und abschalten nicht mehr, bzw dann würde eine Logik diese Parameter auswählen und dann die Skripte an/abschalten.

          Ein trigger verbraucht zwar etwas an Ressourcen, aber keine Performance (oder zumindest ein gaaanz klein wenig)

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          1 Antwort Letzte Antwort
          1
          • S skorpil

            Bei mir laufen inzwischen diverse JavaScripte, die aber, wenn ich im Urlaub oder "abwesend" bin, nicht notwendigerweise laufen müssen.

            Ich habe mir überlegt, dass es prinzipiell mehrere Wege gibt, damit umzugehen:

            • man erstellt eine Variable "Urlaub" und läßt in jedem Script prüfen, ob sie "true" ist.
            • man erstellt ein "Urlaubsscript", das ebenfalls auf "Urlaub" reagiert, und schaltet für die Urlaubsdauer nicht benötigte Scripte mit "stopScript(scriptId)" und startScript(scriptId) ein und aus

            Ich würde von den Fachleuten gerne wissen, welche Vorgehensweise sinnvoll ist und empfohlen wird. Oder gibt es weitere Möglichkeiten, sich dieses Themas zu nähern?

            Dank Euch für Eure Hilfe schon mal vorab.

            amg_666A Offline
            amg_666A Offline
            amg_666
            schrieb am zuletzt editiert von
            #7

            @skorpil Variable Urlaub ist safe und wird funktionieren. Ich hab das etwas anders gelöst. 4 Personen im Haushalt, jede(r) hat ein Smartphone. Jedes Smartphone hat eine feste IP. Ich hab ne Fritzbox, über die frage ich ab wer grade angemeldet ist (=wer ist grade zuhause). Man kann das auch über Ping auf die (feste) IP des jeweiligen Smartphones lösen, geht aber, glaube ich, nicht nit Apple/IOS. Bei mir funktioniert das sehr gut, ich steuere damit einzelne Heizungen (Heizung Kind1 je nachdem ob Kind1 da ist oder nicht usw) und wenn alle abwesend sind wird die Heizung komplett runtergefahren.

            Als Anregung: Wenn alle "weg" sind, also niemand zuhause, dann werden diverse Lampen per Zufallsprinzip an/aus-geschaltet um Anwesenheit zu simulieren

            iobroker auf proxmox container

            S CodierknechtC 2 Antworten Letzte Antwort
            1
            • amg_666A amg_666

              @skorpil Variable Urlaub ist safe und wird funktionieren. Ich hab das etwas anders gelöst. 4 Personen im Haushalt, jede(r) hat ein Smartphone. Jedes Smartphone hat eine feste IP. Ich hab ne Fritzbox, über die frage ich ab wer grade angemeldet ist (=wer ist grade zuhause). Man kann das auch über Ping auf die (feste) IP des jeweiligen Smartphones lösen, geht aber, glaube ich, nicht nit Apple/IOS. Bei mir funktioniert das sehr gut, ich steuere damit einzelne Heizungen (Heizung Kind1 je nachdem ob Kind1 da ist oder nicht usw) und wenn alle abwesend sind wird die Heizung komplett runtergefahren.

              Als Anregung: Wenn alle "weg" sind, also niemand zuhause, dann werden diverse Lampen per Zufallsprinzip an/aus-geschaltet um Anwesenheit zu simulieren

              S Offline
              S Offline
              skorpil
              schrieb am zuletzt editiert von
              #8

              @amg_666 wir kommen ein bisschen vorm Thema ab. Dennoch, Dankeschön! Mit den bisherigen CCU Programmen habe ich sowohl Urlaub als auch Anwesenheit. Das sind aber zwei verschiedene Zustände. Aber das soll nicht das Thema sein.

              Es ging um die Frage, wie man das in JavaScript am besten programmiert!

              1 Antwort Letzte Antwort
              0
              • S skorpil

                Bei mir laufen inzwischen diverse JavaScripte, die aber, wenn ich im Urlaub oder "abwesend" bin, nicht notwendigerweise laufen müssen.

                Ich habe mir überlegt, dass es prinzipiell mehrere Wege gibt, damit umzugehen:

                • man erstellt eine Variable "Urlaub" und läßt in jedem Script prüfen, ob sie "true" ist.
                • man erstellt ein "Urlaubsscript", das ebenfalls auf "Urlaub" reagiert, und schaltet für die Urlaubsdauer nicht benötigte Scripte mit "stopScript(scriptId)" und startScript(scriptId) ein und aus

                Ich würde von den Fachleuten gerne wissen, welche Vorgehensweise sinnvoll ist und empfohlen wird. Oder gibt es weitere Möglichkeiten, sich dieses Themas zu nähern?

                Dank Euch für Eure Hilfe schon mal vorab.

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von liv-in-sky
                #9

                @skorpil

                evtl eine eigene javascript instanz - "eine urlaubs-instanz" die kannst du dann über script de-/aktivieren - du musst dann nicht jedes script anpassen, sondern nur in die instanz verschieben

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                1
                • S skorpil

                  @codierknecht ist das wirklich eine dritte? Du arbeitest dann doch sicher auch mit einem Datenpunkt/ variable? Aber die Idee ist genial.

                  Schön wäre es, noch zu wissen, warum ihr alle die Variante eins präferiert? Das mit dem neue Laden habe ich ja gerafft, gibt es aber noch andere Argumente? Ich habe das Problem, immer verstehen zu wollen, warum etwas so oder so gelöst wird. ;-)

                  Danke an alle @Asgothian @Homoran @Codierknecht

                  CodierknechtC Offline
                  CodierknechtC Offline
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #10

                  @skorpil sagte in Beste Vorgehensweise???:

                  ist das wirklich eine dritte? Du arbeitest dann doch sicher auch mit einem Datenpunkt/ variable?

                  Prinzipiell schon. Aber gesteuert wird das über den Kalender. Da muss kein DP "von Hand" gesetzt werden.

                  fbdda294-ab0f-483a-a181-be66d67a0184-image.png bbc8663b-07b5-46c4-a215-e852c603ed6e-image.png

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  1 Antwort Letzte Antwort
                  0
                  • Ro75R Offline
                    Ro75R Offline
                    Ro75
                    schrieb am zuletzt editiert von
                    #11

                    Ich mache es genau so wie es @amg_666 beschrieben hat. Für mich die einfachste und effektivste Lösung.

                    Ro75.

                    SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                    1 Antwort Letzte Antwort
                    1
                    • amg_666A amg_666

                      @skorpil Variable Urlaub ist safe und wird funktionieren. Ich hab das etwas anders gelöst. 4 Personen im Haushalt, jede(r) hat ein Smartphone. Jedes Smartphone hat eine feste IP. Ich hab ne Fritzbox, über die frage ich ab wer grade angemeldet ist (=wer ist grade zuhause). Man kann das auch über Ping auf die (feste) IP des jeweiligen Smartphones lösen, geht aber, glaube ich, nicht nit Apple/IOS. Bei mir funktioniert das sehr gut, ich steuere damit einzelne Heizungen (Heizung Kind1 je nachdem ob Kind1 da ist oder nicht usw) und wenn alle abwesend sind wird die Heizung komplett runtergefahren.

                      Als Anregung: Wenn alle "weg" sind, also niemand zuhause, dann werden diverse Lampen per Zufallsprinzip an/aus-geschaltet um Anwesenheit zu simulieren

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #12

                      @amg_666
                      Wenn ich unter der Woche Urlaub/Gleitzeittag habe, möchte ich nicht durch die fahrenden Rollläden geweckt werden ;-)

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      HomoranH amg_666A 2 Antworten Letzte Antwort
                      1
                      • CodierknechtC Codierknecht

                        @amg_666
                        Wenn ich unter der Woche Urlaub/Gleitzeittag habe, möchte ich nicht durch die fahrenden Rollläden geweckt werden ;-)

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von Homoran
                        #13

                        @codierknecht sagte in Beste Vorgehensweise???:

                        @amg_666
                        Wenn ich unter der Woche Urlaub/Gleitzeittag habe, möchte ich nicht durch die fahrenden Rollläden geweckt werden ;-)

                        dann geh ich zum Wandtablet tippe auf
                        Screenshot_20240712-083629_Firefox.jpg

                        und bin in Urlaub

                        Screenshot_20240712-083652_Firefox.jpg

                        @skorpil
                        da hängt ein Datenpunkt "Urlaub" dran, der in Skripten und shuttercontrol abgefragt wird.

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        CodierknechtC 1 Antwort Letzte Antwort
                        1
                        • HomoranH Homoran

                          @codierknecht sagte in Beste Vorgehensweise???:

                          @amg_666
                          Wenn ich unter der Woche Urlaub/Gleitzeittag habe, möchte ich nicht durch die fahrenden Rollläden geweckt werden ;-)

                          dann geh ich zum Wandtablet tippe auf
                          Screenshot_20240712-083629_Firefox.jpg

                          und bin in Urlaub

                          Screenshot_20240712-083652_Firefox.jpg

                          @skorpil
                          da hängt ein Datenpunkt "Urlaub" dran, der in Skripten und shuttercontrol abgefragt wird.

                          CodierknechtC Offline
                          CodierknechtC Offline
                          Codierknecht
                          Developer Most Active
                          schrieb am zuletzt editiert von
                          #14

                          @homoran
                          Sehr schön.
                          Mit dem Kalender kann man das auch vorplanen ;-)

                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi
                          Zabbix Certified Specialist
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          1 Antwort Letzte Antwort
                          1
                          • CodierknechtC Codierknecht

                            @amg_666
                            Wenn ich unter der Woche Urlaub/Gleitzeittag habe, möchte ich nicht durch die fahrenden Rollläden geweckt werden ;-)

                            amg_666A Offline
                            amg_666A Offline
                            amg_666
                            schrieb am zuletzt editiert von
                            #15

                            @codierknecht Mein Post oben war auch etwas komprimiert :-) Ich frage auch ab ob z.B. Schulferien sind, dann gehen Rolläde in den Kinderzimmern später hoch. Gleitzeit/Schicht etc kann man ja in einem (google) Kalender eintragen und den dann abfragen

                            iobroker auf proxmox container

                            1 Antwort Letzte Antwort
                            1
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            626

                            Online

                            32.6k

                            Benutzer

                            82.1k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe