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. Programmierphilosophie - wie geh ich's an?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Programmierphilosophie - wie geh ich's an?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
10 Beiträge 3 Kommentatoren 1.6k Aufrufe
  • Ä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.
  • R Offline
    R Offline
    rascal
    schrieb am zuletzt editiert von
    #1

    Hallo,

    da ich mich jetzt immer mehr mit Javascript beschäftige und mit Hilfe hier im Forum (danke an Alle) auch hin und wieder verstehe was ich mache :roll: stellt sich mir jetzt eine Frage, wie ich das Ganze sinnvoll angehe.

    Bis jetzt verwende ich großteils ccu.io mit ScriptGUI und dort habe ich es so gelöst, dass ich zum Beispiel ein Programm für jeden Rolladen im Haus, wobei jedes Programm auf verschieden Sensoren/Variable auslöst.

    Also:

    Rolladen Schlafzimmer: Tagwache + Tag = Rolladen auf

    Licht Schlafzimmer: Tagwache + !Tag = Licht ein

    Jetzt stellt sich mir nach einigem Grübeln heute Nacht die Frage, ob es Anders "besser" wäre, also dass ich in einem Programm auf EINEN Sensor/Variable reagiere und mehrere Aktionen ausführe ala:

    Tagwache: Tag: Rolladen auf, !Tag: Licht ein

    Mich würde interessieren wie Ihr das seht, bzw Ihr die Programmierung gelöst hat und hoffe, dass ich mein Problem gut beschrieben habe :)

    LG

    Martin
    3822_bildschirmfoto_2019-02-04_um_22.08.31.png

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      Hallo rascal,

      ich habe derzeit 108 Skripte in drei javascript-Instanzen.

      Instanz 0 für die wichtigen Funktionen der Steuerung (Alarmanlage, Rollläden, Licht,…)

      Instanz 1 für Komfortfunktionen (Radio, TV, Fahrplan, Sprit, Wetter, ...)

      Instanz 2 für neue Skripts und zum Testen

      Grundsätzlich nutze ich pro Gerät ein Skript. Manchmal fasse ich mehrere Geräte raumweise zusammen.

      • ein Skript für alle Fensterzustände. Jeder RHS/TFK-Status wird bei Änderung in eine Variable geschrieben. Diese Variable wird in VIS und anderen Skripten weiterverwendet. So kann ich den Homematic Sensor leicht ersetzen, oder in jedem Skript nach dessen ID zu suchen.

      • pro Alarm ein Skript (Feuchtesensor Küche, Luftfeuchtigkeit Schlafzimmer, Fenster im WC seit 10min geöffnet, …)

      • ein Skript für alle Zustände der Geräte an Zwischensteckern (Ventilator, TV, Radio) aus dem gleichen Grund

      • ein Skript für alle Strommmessgeräte

      • ein Skript alle Funktionen der Rollläden pro Raum (also Beschattungsautomatik, Astrosteuerung, Zeitsteuerung, Anbindung an Wandtaster)

      • ein Skript für Nachtruhe EIN, eines für Nachtruhe AUS.

      • ein Skript für Anwesenheit EIN, eines für Anwesenheit AUS.

        usw.

      Es macht (für mich) keinen Sinn, alles was zum Beispiel mit Nachtruhe zu tun hat, in ein Skript zu schreiben. Es gibt zu viele Überschneidungen mit anderen Zuständen (Anwesenheit, Alarmanlage, …).

      Hier mal ein Ausschnitt: 261_bildschirmfoto_2016-02-27_um_11.25.45.jpg

      Gruß,

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • R Offline
        R Offline
        rascal
        schrieb am zuletzt editiert von
        #3

        Hey Pix,

        danke für dein Antwort, ich mag deine Herangehensweise.

        Nur eine Frage, warum 3 javascript Instanzen? Nur der Übersicht wegen?

        LG

        Martin
        2534_neue_textdatei.txt

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          pix
          schrieb am zuletzt editiert von
          #4

          Hallo Martin,

          die Testinstanz 2 kann schon mal abstürzen, wenn ich in einem neuen Skript einen Fehler habe. Davon bleiben die anderen Instanzen unberührt.

          Ebenso kann der Anbieter einer Webseite deren Daten ich nutze (zB Fahrplan oder TV Programm), die Struktur der Webseite ändern oder sie abschalten. Dann stürzt mein Skript in der Regel auch ab. Die wichtige Instanz 0 bleibt davon aber wieder verschont.

          Gruß

          Pix

          Gesendet mit Tapatalk

          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #5

            Pix! Genau für dich währe neue Möglichkeit mit Gruppierung prima.

            Was geht da nicht genau? Ich kann Fehler nicht reproduzieren. Und ich weiß,

            dass ich die Skript-Ausführung nicht angefasst habe.

            Probier noch mal. Ich habe da was mit globale Skripte zurückgedreht.
            48_2016-02-27_13_29_10-program_manager.png

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #6

              @pix:

              Hallo Martin,

              die Testinstanz 2 kann schon mal abstürzen, wenn ich in einem neuen Skript einen Fehler habe. Davon bleiben die anderen Instanzen unberührt.

              Ebenso kann der Anbieter einer Webseite deren Daten ich nutze (zB Fahrplan oder TV Programm), die Struktur der Webseite ändern oder sie abschalten. Dann stürzt mein Skript in der Regel auch ab. Die wichtige Instanz 0 bleibt davon aber wieder verschont.

              Gruß

              Pix

              Gesendet mit Tapatalk `
              Ich habe das Problem in neuem Javascript gefunden:

              2.0.2 (2016-02-20)

              • (bluefox) fix start of scripts on adapter start

              • (bluefox) add new scope variable "name" to print name of script: log(name) => script.js.common.ScriptName

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                pix
                schrieb am zuletzt editiert von
                #7

                Hallo Bluefox,

                hatte ja hier von Problemen berichtet: http://forum.iobroker.de/viewtopic.php? … 10&p=20277

                Jetzt habe ich admin auf 0.8.1 und Javascript auf 2.0.2 upgedatet. Die Funktion ist nicht beeinträchtigt, aber ich sehe die neue Maske nicht. Alles sieht aus, wie immer (trotz Neustart, dann extra Neustart der Instanzen und Admin und Cache gelöscht).

                Gruß

                Pix
                18278_kino.txt

                ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                1 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #8

                  @pix:

                  Hallo Bluefox,

                  hatte ja hier von Problemen berichtet: http://forum.iobroker.de/viewtopic.php? … 10&p=20277

                  Jetzt habe ich admin auf 0.8.1 und Javascript auf 2.0.2 upgedatet. Die Funktion ist nicht beeinträchtigt, aber ich sehe die neue Maske nicht. Alles sieht aus, wie immer (trotz Neustart, dann extra Neustart der Instanzen und Admin und Cache gelöscht).

                  Gruß

                  Pix `
                  iobroker upload javascript

                  1 Antwort Letzte Antwort
                  0
                  • P Offline
                    P Offline
                    pix
                    schrieb am zuletzt editiert von
                    #9

                    @Bluefox:

                    iobroker upload javascript ` Das war's! Danke.

                    Ich bringe dann morgen etwas Ordnung in meine Skripte :lol: :lol: :lol:

                    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      pix
                      schrieb am zuletzt editiert von
                      #10

                      Eine Riesenerleichterung!

                      Danke! :lol:

                      Gruß

                      Pix

                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

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


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      731

                      Online

                      32.6k

                      Benutzer

                      82.2k

                      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