Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Multi Ereignislisten Skript

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Multi Ereignislisten Skript

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

      @darkiop Rechte Maustaste und "Link speichern unter...". Dann bleiben die Umlaute heile. Habe jetzt auch ein .zip einghängt, dann macht wird automatisch ein Download ausgelöst.
      Gruß, Ralf

      1 Reply Last reply Reply Quote 0
      • E
        ehome last edited by

        Hallo,

        könntest du bitte das Script ggf. neu Posten ?
        Leider kann man (bzw. ich) es nicht per copy/paste übernehmen da
        offensichtlich was mit der Formatierung schief gegangen ist .....

        1 Reply Last reply Reply Quote 0
        • E
          ehome @ruhr70 last edited by

          @ruhr70
          Hallo,
          vielen Dank erstmal.
          Man kann das Skript aber noch immer nicht übernehmen.
          Den Fehler am Schluss des Skripts bekomm ich noch hin,
          aber bei Zeile 140 nicht mehr. Vielleicht schaust du nochmal.

          Gruß
          Olli

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

            Könnte man das Skript nicht so umbauen, dass es keine globale Funktion benötigt, sondern einen Trigger auf einen Datenpunkt setzt? Dieser kann ja einen String beinhalten und die selbe Syntax wie der Funktionsaufruf benötigen.
            Ich würde das ggf. mir Trial an Error irgendwann auch hinbekommen, aber hier ist sicher jemand der das schneller und effizienter hinbekommt. Macht das überhaupt Sinn was ich vorschlage? Oder hat eine globale Funktion irgendwelche Vorteile? (Performance?!)
            Ein eigener Adapter wäre natürlich noch eleganter. 😛

            Habe bisher viele Skripte aber keine globale Funktion in Benutzung, daher meine Frage.

            EDIT: Natürlich vielen Dank für dieses Skript! Funktioniert bisher soweit sehr gut. 🙂

            Hiltex 1 Reply Last reply Reply Quote 0
            • Hiltex
              Hiltex @siggi85 last edited by

              @siggi85 nach meinem Verständnis ist eine globale Funktion ja im Prinzip nur ein Code-Schnipsel, das überall zur Verfügung steht. Speziell bei der Ereignisliste ist der extrem einfach gehalten und ist selbst für einen Raspberry Pi 1 keine Herausforderung.
              Das ganze über einen Datenpunkt zu realisieren scheint mir indes eher unflexibel, weil man da ja auch die Parameter für die Liste und Farbe mit übergeben müsste. Insofern finde ich die aktuelle Lösung garnicht so schlecht.
              Allerdings hab ich das ganze bisher nur sehr rudimentär eingebaut, weil ich keinen Sinn darin sehe, mir eine Liste mit Tür offen, Tür geschlossen, Tür offen, Tür geschlossen anzeigen zu lassen. Sowas benötige ich zwar manchmal für die Fehlersuche, aber dann lass ich mir den Wechsel der Zustände ins History oder InfluxDB schreiben und werte das dann grafisch mit Flot oder Grafana aus. So kann ich Trigger und Aktion gleichzeitig sehen und besser nachvollziehen, warum morgens das Licht leuchtet, wenn ich ins Wohnzimmer komme, obwohl ich es abends ausgeschaltet habe.

              1 Reply Last reply Reply Quote 0
              • M
                martinschm @ruhr70 last edited by

                @ruhr70 Sehr cooles Skript. Hab etwas gebaucht um den Zweck zu verstehen, aber das ist echt super cool. Kommt gleich auf meine ToDo Liste fürs Smart Home

                1 Reply Last reply Reply Quote 0
                • sigi234
                  sigi234 Forum Testing Most Active last edited by sigi234

                  @ruhr70 sagte in [Vorlage] Multi Ereignislisten Skript:

                  0.2.3

                  Hm , habe mal die 0.2.3 genommen , leider kommt ein Fehler:

                  15.8.2019, 11:16:10.692	[info ]: javascript.0 Stop script script.js.Ereignisse.Erstellt_Ereignislisten
                  15.8.2019, 11:16:10.692	[info ]: javascript.0 script.js.Ereignisse.Erstellt_Ereignislisten: ----------- Skript: script.js.Ereignisse.Erstellt_Ereignislisten -> wurde beendet -----------
                  15.8.2019, 11:16:10.798	[info ]: javascript.0 Start javascript script.js.Ereignisse.Erstellt_Ereignislisten
                  15.8.2019, 11:16:10.798	[error]: javascript.0 script.js.Ereignisse.Erstellt_Ereignislisten compile failed:
                  at script.js.Ereignisse.Erstellt_Ereignislisten:140
                  15.8.2019, 11:16:56.490	[info ]: javascript.0 Stop script script.js.Ereignisse.Erstellt_Ereignislisten
                  15.8.2019, 11:16:56.496	[info ]: javascript.0 Start javascript script.js.Ereignisse.Erstellt_Ereignislisten
                  15.8.2019, 11:16:56.496	[error]: javascript.0 script.js.Ereignisse.Erstellt_Ereignislisten compile failed:
                  at script.js.Ereignisse.Erstellt_Ereignislisten:140
                  15.8.2019, 11:17:41.090	[info ]: javascript.0 Stop script script.js.Ereignisse.Erstellt_Ereignislisten
                  15.8.2019, 11:17:41.101	[info ]: javascript.0 Start javascript script.js.Ereignisse.Erstellt_Ereignislisten
                  15.8.2019, 11:17:41.101	[error]: javascript.0 script.js.Ereignisse.Erstellt_Ereignislisten compile failed:
                  at script.js.Ereignisse.Erstellt_Ereignislisten:140
                  

                  Zeile 140:

                  for (var i=0; i<this.length; i++)/if/(a="==" this[i])/return/true/false/}/function/makejsonarr()/{/for/(var/liste/in/listenjson)/jsonarr[liste]="readListEvent(pfad+liste+&quot;.eventlistArr&quot;);" datenpunkte/für/die/eventlisten/anlegen/dpanlegen(callback)/var/stateliste="[];" zeitstempel="listenJson[liste].zeitstempel;" (typeof/"undefined")/hier/wird/als/array/angelegt/stateliste.push({id:/pfad+liste+".eventlistarr",/val:formatdate(new/date(),/zeitstempel)/+/trennerzeitstempel/'datenpunkt/angelegt',/write:/false});/string/mit/\n/pfad+liste+".eventliststr",/val:"",/html-string/<br="">\n für VIS
                  

                  Bin wieder zurück auf die 0.2.2

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

                    @sigi234 sagte in [Vorlage] Multi Ereignislisten Skript:

                    Bin wieder zurück auf die 0.2.2

                    geht die 0.3.0er bei dir nicht? bei mir flutscht das Ding wie sonst was.

                    sigi234 1 Reply Last reply Reply Quote 0
                    • sigi234
                      sigi234 Forum Testing Most Active @a200 last edited by

                      @a200 sagte in [Vorlage] Multi Ereignislisten Skript:

                      @sigi234 sagte in [Vorlage] Multi Ereignislisten Skript:

                      Bin wieder zurück auf die 0.2.2

                      geht die 0.3.0er bei dir nicht? bei mir flutscht das Ding wie sonst was.

                      Geht bei mir nicht. .

                      1 Reply Last reply Reply Quote 0
                      • M
                        martinschm last edited by

                        Hi,
                        ich würde die Listen gerne unter meinen eigenen Datenpunkten (Ordner der auf der obersten Ebene liegt und Datenpunkte.0 heißt) anlegen lassen und nicht unter javascript.0

                        Kann ich das in den Skript irgendwie anpassen ?

                        arteck 1 Reply Last reply Reply Quote 0
                        • arteck
                          arteck Developer Most Active @martinschm last edited by

                          @martinschm lass die lieber da .. eigenen Datenpunkte sollten nicht im einzelnen eigen angelegten Datenbaum liegen

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            martinschm @arteck last edited by

                            Hi @arteck, was ist der Grund dafür ?

                            Hab zwei javascript Instanzen, eine auf der ich Skripte teste und eine wo die produktiven laufen. Dachte wenn ich teste und der Adapter mal abstürzt läuft der Rest trotzdem weiter.

                            Daher schien es mir klug, die Datenpunkte unabhängig vom Adapter abzulegen

                            arteck 1 Reply Last reply Reply Quote 1
                            • arteck
                              arteck Developer Most Active @martinschm last edited by

                              @martinschm ja es ist so..die instanzen laufen unabhängig voneinander.. stürtzt die eine ab läuft der rest weiter...

                              ich lege die Datenpunkte so wie ich die Brauche .. die Instazen könne untereinander auf diese zugreifen

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                martinschm @arteck last edited by

                                @arteck said in [Vorlage] Multi Ereignislisten Skript:

                                @martinschm ja es ist so..die instanzen laufen unabhängig voneinander.. stürtzt die eine ab läuft der rest weiter...

                                ich lege die Datenpunkte so wie ich die Brauche .. die Instazen könne untereinander auf diese zugreifen

                                Danke für dein Feedback. Aus Neugierde würde mich aber interessieren, warum die Datenpunkte unterhalb des javascript Adapters bleiben sollen. Lerne gern dazu, mir leuchtet das aber noch nicht ein.

                                arteck 1 Reply Last reply Reply Quote 1
                                • arteck
                                  arteck Developer Most Active @martinschm last edited by

                                  @martinschm na ja.. es kann sein (auch wen ndie warscheinlichkeit klein ist ) das jemand einen Adapter Entwickelt der genaus so heisst wie deine Hauptstruktur.. jetzt wird der Adapter installiert und dieser zerhaut dir die komplette Struktur..

                                  siggi85 1 Reply Last reply Reply Quote 0
                                  • siggi85
                                    siggi85 @arteck last edited by

                                    Ich selbst nutze eine Struktur namens "custom" und habe da alles drunter. Bis auf die Ereignislisten und den speedtest des Internetanschlusses. Das habe ich allerdings nur unter javascript, weil ich den Aufwand geschäut habe und in JS nicht ganz auf der Höhe bin. Sollte eine Version erscheinen, wo ich die Ordnerstruktur anhand von bspw. Variablen selber festlegen könnte, wäre auch ich nicht abgeneigt. 🙂

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      martinschm @siggi85 last edited by

                                      @siggi85 said in [Vorlage] Multi Ereignislisten Skript:

                                      Ich selbst nutze eine Struktur namens "custom" und habe da alles drunter. Bis auf die Ereignislisten und den speedtest des Internetanschlusses. Das habe ich allerdings nur unter javascript, weil ich den Aufwand geschäut habe und in JS nicht ganz auf der Höhe bin. Sollte eine Version erscheinen, wo ich die Ordnerstruktur anhand von bspw. Variablen selber festlegen könnte, wäre auch ich nicht abgeneigt. 🙂

                                      Ich hab mir jetzt per Skript die Listen anlegen lassen, hab sie dann als json exportiert. Das json dann angepasst (suchen ersetzen) und wieder importiert. Der Rest läuft dann anscheinen.

                                      Das Erstellen lässt sich leider nicht anpassen, da createState immer unterhalb des javascript Ordners anlegt.

                                      1 Reply Last reply Reply Quote 0
                                      • Nashra
                                        Nashra Most Active Forum Testing last edited by

                                        Erstmal Danke für das tolle Script 👍
                                        Jetzt zu meiner Frage wobei ich sagen muß das ich von js absolut keinen Plan habe.
                                        Wie kann ich die Ausgabe farbig machen d.h. der Text "Flurheizung ausgeschaltet" z.B. in rot
                                        und "eingeschaltet" in grün

                                        var idFlurheizung   = "shelly.0.SHSW-1#55E0BB#1.Relay0.Switch";
                                        
                                        on({id:idFlurheizung,change:'ne'}, function (obj) {
                                            if (obj.state.val) {
                                                event('**Flurheizung eingeschaltet** ');
                                            } else {
                                                event('Flurheizung ausgeschaltet ');
                                            }
                                        });
                                        
                                        a200 1 Reply Last reply Reply Quote 0
                                        • a200
                                          a200 @Nashra last edited by a200

                                          @Nashra sagte in [Vorlage] Multi Ereignislisten Skript:

                                          Erstmal Danke für das tolle Script 👍
                                          Jetzt zu meiner Frage wobei ich sagen muß das ich von js absolut keinen Plan habe.
                                          Wie kann ich die Ausgabe farbig machen d.h. der Text "Flurheizung ausgeschaltet" z.B. in rot
                                          und "eingeschaltet" in grün

                                          event("heizung aus", "default", red);
                                          oder
                                          event("heizung an", "default", "#00ff00");

                                          Nashra 1 Reply Last reply Reply Quote 1
                                          • Nashra
                                            Nashra Most Active Forum Testing @a200 last edited by

                                            @a200 sagte in [Vorlage] Multi Ereignislisten Skript:

                                            @Nashra sagte in [Vorlage] Multi Ereignislisten Skript:

                                            Erstmal Danke für das tolle Script 👍
                                            Jetzt zu meiner Frage wobei ich sagen muß das ich von js absolut keinen Plan habe.
                                            Wie kann ich die Ausgabe farbig machen d.h. der Text "Flurheizung ausgeschaltet" z.B. in rot
                                            und "eingeschaltet" in grün

                                            Klappt so leider nicht

                                            event("Flurheizung ausgeschaltet", "default", red);

                                            hier kommen Fehlermeldungen im Log das die Farbe nicht definiert ist

                                            oder
                                            event("Flurheizung ausgeschaltet", "default", "#00ff00");

                                            hier keine Fehler, aber der Text ist nicht farbig

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript template
                                            28
                                            112
                                            16916
                                            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