Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Programmierphilosophie - wie geh ich's an?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Programmierphilosophie - wie geh ich's an?

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rascal last edited by

      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 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        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

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

          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 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            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

            1 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              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 Reply Last reply Reply Quote 0
              • Bluefox
                Bluefox last edited by

                @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 Reply Last reply Reply Quote 0
                • P
                  pix last edited by

                  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

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @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 Reply Last reply Reply Quote 0
                    • P
                      pix last edited by

                      @Bluefox:

                      iobroker upload javascript ` Das war's! Danke.

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

                      1 Reply Last reply Reply Quote 0
                      • P
                        pix last edited by

                        Eine Riesenerleichterung!

                        Danke! :lol:

                        Gruß

                        Pix

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        908
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        3
                        10
                        1510
                        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