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
    893

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[gelöst] Beste Vorgehensweise???

Geplant Angeheftet Gesperrt Verschoben JavaScript
15 Beiträge 8 Kommentatoren 998 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.

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

    @skorpil
    der erste Ansatz wäre der korrektere, weil..
    der zweite Ansatz mehr Ressourcen verbraucht weil die Skripte neim Neustart neu kompiliert werden...
    was bei 2x im Jahr aber zu verschmerzen wäre

    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 -

    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.

      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

                              755

                              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