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. Praktische Anwendungen (Showcase)
  4. Einfach mal zeigen will….. :-) - Teil 1

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    18
    1
    631

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

Einfach mal zeigen will….. :-) - Teil 1

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
649 Beiträge 133 Kommentatoren 338.2k Aufrufe 9 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 Offline
    S Offline
    Stoni
    schrieb am zuletzt editiert von
    #382

    @tempestas:

    Danke, aber das Lob gebührt Marcel85, mrMuppet und uhula. Auf deren Ideen und Beispiele greife ich ja ganz wesentlich zurück bzw bei uhula (teilweise) seine Material Design Arbeit.

    Ich habe nur hier und da etwas angepasst. ` Kannst Du Dein Projekt exportieren und hier hochladen? Würde es gerne weitestgehend übernehmen… HAMMER!

    1 Antwort Letzte Antwort
    0
    • C Offline
      C Offline
      Conquest
      schrieb am zuletzt editiert von
      #383

      @tempestas:

      Danke, aber das Lob gebührt Marcel85, mrMuppet und uhula. Auf deren Ideen und Beispiele greife ich ja ganz wesentlich zurück bzw bei uhula (teilweise) seine Material Design Arbeit.

      Ich habe nur hier und da etwas angepasst. ` Respekt. Ist richtig Klasse geworden. Da bin ich Meilenweit entfernt.

      Wäre echt super wenn du das auf der Demo-Seite hochladen würdest.

      LG Torsten

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        schittl
        schrieb am zuletzt editiert von
        #384

        @tempestas:

        ich konnte es ja nicht lassen und habe jetzt für mein neues Tablet wieder alles etwas umgestellt: `
        Geniale Ansichten. Super Arbeit. 2 kleine Fragen habe ich mal dazu:

        1. Woher bekommst Du die Informationen zu deinen Geräten in der Technik-Seite? Per Ping-Adapter?

        2. Wie hast Du die Zeitschaltung realisiert? Per Skript? Ähnlich wie das am Beispiel des Skriptes Eieruhr?

        Wäre prima wenn es auf der Demo-Seite landet.

        vg

        Falk

        HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

        SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          tempestas
          schrieb am zuletzt editiert von Jey Cee
          #385

          Hallo,

          1a) die grünen "online Signale" sind per Ping Adapter, genau richtig getippt.

          1b) die Infos zur Internet Verbindung stammen aus dem Skript von Cybertron & Pix http://forum.iobroker.net/viewtopic.php?f=21&t=4170

          1c) die übrigen infos habe ich mit dem System-Info Skript von Blackmike extrahiert, welches ich teilweise noch etwas ergänzt habe http://forum.iobroker.net/viewtopic.php?t=7590

          1. Die Zeitschaltung habe ich via Skript gemacht. Ich habe es auch hier im Forum schon veröffentlicht, wie die meisten meiner Skripte (wenn ich denn mal was lauffähiges hinbekomme mit meiner Laienkompetenz). Das hier genutzte ist etwas abgewandelt zu dem veröffentlichten, da ich nun mit dem jqui ctrl input widget arbeite statt mehrere Knöpfe. Ob das wirklich ideal ist fürs Tablet, da bin ich mir noch nicht sicher.

          Hier das Skript:

          // ##########
          // Skript zum Schalten einer Steckdose zwischen zu zwei definierten Zeitpunkten. Steuerbar über Vis
          // Dank an paul53 für das Schedule Skript
          // v 1.0 stable, tempestas 24.1.2018; Zeitauswahl stark vereinfacht (jqui input date time overlay), zu steuernder Aktor via VIS auswählbar
          // v 0.2, stable, tempestas, 2.12.2017
          // Changes: boolean neu angelegt
          // telegram eingefügt
           // Skripteinstellungen
           var force = false;         // true erzwingt bei Neustart des Skripts das Anlegen der States mit den nachfolgend definierten Werten
          var debug = true;
           // STATES FÜR AKTIV UND TELEGRAM INFO 
           createState('javascript.0.Zeitschaltung.Aktor1.Aktiv', false, force, {
            read: true, 
            write: true, 
            name: "Zeitschaltung aktiv oder aus?", 
            type: "boolean", 
            def: false
          });
           createState('javascript.0.Zeitschaltung.Aktor1.telegram', false, force, {
            read: true, 
            write: true, 
            name: "Telegram senden?", 
            type: "boolean", 
            def: false
          });
           // State für zu steuernden Aktor anlegen
           createState('javascript.0.Zeitschaltung.Aktor1.Aktor','', force, {               
              name: 'Einstellung zu steuernder Aktor',
              type: 'string',
          });
           // STARTZEIT STATES
           createState('javascript.0.Zeitschaltung.Aktor1.Start.Zeit',"17:00:00", force, {          // String der Startzeit      
              name: 'Startzeit ',
              type: 'string',
           });
           createState('javascript.0.Zeitschaltung.Aktor1.Start.Stunde',"", force, {          // Startzeit-Stundenstring für Anzeige in VIS
              name: 'Startstunde ',
              type: 'string',
           });
           createState('javascript.0.Zeitschaltung.Aktor1.Start.Minute',"", force, {          // Startzeit-Minutenstring für Anzeige in VIS
              name: 'Startminute ',
              type: 'string',
           });
           // ENDZEIT STATES
           createState('javascript.0.Zeitschaltung.Aktor1.Ende.Zeit',"20:00:00", force, {          // String der Endzeit      
              name: 'Startzeit ',
              type: 'string',
           });
           createState('javascript.0.Zeitschaltung.Aktor1.Ende.Stunde','', force, {           // Endzeit-Stundenstring für Anzeige in VIS    
              name: 'Endminute ',
              type: 'string',
           });
           createState('javascript.0.Zeitschaltung.Aktor1.Ende.Minute','', force, {           // Endzeit-Minutenstring für Anzeige in VIS    
              name: 'Endminute ',
              type: 'string',
           });
           var idAktor = 'javascript.0.Zeitschaltung.Aktor1.Aktor';     
          var aktor;
           var idAktiv         =   "javascript.0.Zeitschaltung.Aktor1.Aktiv";
          var idTelegram      =   "javascript.0.Zeitschaltung.Aktor1.telegram";
           var idStartzeit     =   "javascript.0.Zeitschaltung.Aktor1.Start.Zeit";
          var idEndzeit       =   "javascript.0.Zeitschaltung.Aktor1.Ende.Zeit";
           var idMinStart      = "javascript.0.Zeitschaltung.Aktor1.Start.Minute" ;
          var idStdStart      = "javascript.0.Zeitschaltung.Aktor1.Start.Stunde";
           var idMinEnd        = "javascript.0.Zeitschaltung.Aktor1.Ende.Minute";
          var idStdEnd        = "javascript.0.Zeitschaltung.Aktor1.Ende.Stunde";
           var einschalten,
              timerEinschalten;
          
          var ausschalten,
              timerAusschalten;
          
          // ##################################################################################################
          //                                      Functions und Trigger
          // ##################################################################################################
           // FUNCTION WECHSEL DES ZU SCHALTENDEN AKTORS
           on({id: idAktor, change: "any"}, function(obj){
              aktor = obj.state.val;
             if(debug) log("Aktor ist "+aktor);    
          });
           // STARTZEIT TRIGGER (SCHEDULE)
           on(idStartzeit, function(dp) {                                                                          // Triggern bei Änderung des Startzeit-Strings
              einschalten= dp.state.val.split(':');                                             
          
              setState(idStdStart, einschalten[0]);                                                               // States für VIS Visualisierung setzen
              setState(idMinStart, einschalten[1]);                                                               // States für VIS Visualisierung setzen
               clearSchedule(timerEinschalten);                                                                    // altes Schedule löschen
              timerEinschalten = schedule(einschalten[1] + ' ' + einschalten[0] + ' * * 0-6', fEinschalten);      // neues Schedule einstellen
          });
           // ENDZEIT TRIGGER ( SCHEDULE)
           on(idEndzeit, function(dp) {                                                                            // Triggern bei Änderung des Endzeit-Strings
              ausschalten= dp.state.val.split(':');
          
              setState(idStdEnd, ausschalten[0]);                                                                 // States für VIS Visualisierung setzen
              setState(idMinEnd, ausschalten[1]);                                                                 // States für VIS Visualisierung setzen
          
              clearSchedule(timerAusschalten);                                                                    // altes Schedule löschen
              timerAusschalten = schedule(ausschalten[1] + ' ' + ausschalten[0] + ' * * 0-6', fAusschalten);      // neues Schedule einstellen
          });
           // Functions ein- und ausschalten (Festlegen der durch Schedule getriggerten Aktionen)
           function fAusschalten(){
              if (getState(idAktiv).val === true) {
                      setState(aktor, false);         // nur, wenn die Automatik eingeschaltet ist wird die Steckdose geschaltet
                       if(getState(idTelegram).val === true) {sendTo('telegram.0', {                                          // Nachricht per Telegram
                          text: "Test-Zeitschaltung wurde ausgeschaltet"         
                      });
                  }
              }
          }
          
          function fEinschalten(){
              if (getState(idAktiv).val === true) {
                      setState(aktor, true);         // nur, wenn die Automatik eingeschaltet ist wird die Steckdose geschaltet
                       if(getState(idTelegram).val === true) {sendTo('telegram.0', {                                          // Nachricht per Telegram
                          text: "Test-Zeitschaltung wurde eingeschaltet"        
                      });
                  }
              }
          }
           // FUNCTION FÜR ERSTMALIGES EINLESEN
           function fSkriptStart(){
              einschalten = getState(idStartzeit).val.split(':'); 
              timerEinschalten = schedule(einschalten[1] + ' ' + einschalten[0] + ' * * 0-6', fEinschalten); 
              if(debug) log("Einschalten um:" +einschalten[0] + " / " + einschalten[1]+ " / " + einschalten[2] );
              setState(idStdStart, einschalten[0]);
              setState(idMinStart, einschalten[1]);
          
              ausschalten = getState(idEndzeit).val.split(':'); 
              timerAusschalten = schedule(ausschalten[1] + ' ' + ausschalten[0] + ' * * 0-6', fAusschalten); 
              if(debug) log("Ausschalten um:" + ausschalten[0] + " / " + ausschalten[1]+ " / " + ausschalten[2] );
              setState(idStdEnd, ausschalten[0]);
              setState(idMinEnd, ausschalten[1]);    
          
          }
           // Bei Start eine Sekunde verzögert, damit States angelegt werden können
          setTimeout(fSkriptStart, 1000) ; 
          

          Hier pflege ich eine Liste für die Dropdown Auswahl der Aktoren, die geschaltet werden sollen. Einfach unter Klartext einen beliebigen Namen eingeben und bei Liste den Datenpunkt (OID).

          createState('javascript.0.Zeitschaltung.ListeKlartext','',  {               
              name: 'Einstellung zu steuernder Aktor',
              type: 'string',
          });
          createState('javascript.0.Zeitschaltung.Liste','',  {               
              name: 'Einstellung zu steuernder Aktor',
              type: 'string',
          });
          var Klartext ='HM Steckdose 1 Schlafzimmer;HM IP Steckdose Küche';
          log(Klartext);
          var Liste = "hm-rpc.0.OEQ0817114.1.STATE;hue.0.Philips_hue.Steckdose_Sterne.on";
          log(Liste);
          setState("javascript.0.Zeitschaltung.ListeKlartext"/*Einstellung zu steuernder Aktor*/, Klartext);
          setState("javascript.0.Zeitschaltung.Liste"/*Einstellung zu steuernder Aktor*/, Liste);
          

          <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Marcel85
            schrieb am zuletzt editiert von Jey Cee
            #386

            Hier mal ein neuer Entwurf.
            3473_dashboard.png

            1 Antwort Letzte Antwort
            0
            • P Offline
              P Offline
              ple
              schrieb am zuletzt editiert von
              #387

              Respekt Respekt :-)

              Wäre schöne wenn die Views noch hochgeladen werden könnten. :-)

              Gruß

              Intel Nuc + Proxmox

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                dali3
                schrieb am zuletzt editiert von
                #388

                Marcel, wie immer, deine View/Designs sind einfach hammer ;)

                Würde mich auch über einen Upload freuen!

                Gruess

                Systeminfo:
                Iobroker Pro, Surface 3 (Mobil), Acer T272 (Wand), Raspberry Pi 3, NUC, Synology DS212j (BackUp), Google Home, Xiaomi Aqara (Sensoren, Fühler, Kamera, LED), Revo Superconnect, Philips Hue, IKEA Tradfri...

                1 Antwort Letzte Antwort
                0
                • sigi234S Online
                  sigi234S Online
                  sigi234
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #389

                  Hallo, bin auch gerade dabei neue Views zu erstellen…...sind aber noch in Bearbeitung. :)

                  2858_screenshot__296_.png

                  2858_screenshot__290_.png

                  2858_screenshot__291_.png

                  2858_screenshot__292_.png

                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Immer Daten sichern!

                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    thomasdeininger
                    schrieb am zuletzt editiert von
                    #390

                    @xADDRx:

                    Nice Marcel!

                    Hier eine View für meine Hue Lampen… `
                    Hammer Arbeit. Kompliment. Finde es fantastisch was mit VIS und IObroker alles möglich ist.

                    Könntest Du die View mit den Hue Lights und Programmen hochladen?

                    Wäre super.

                    Klasse Arbeit Daumen hoch.

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      Stoni
                      schrieb am zuletzt editiert von
                      #391

                      @Marcel85:

                      Ich habe für einen User mal ein anderes Wetter-View gebastelt.

                      edit: Ich sehe gerade das da wohl was verrutscht ist. ` Funktioniert das mit einem Adapter? Irgendwoher müssen ja die Daten kommen…

                      Könntest du den Widget Code hier zur Verfügung stellen? Ich bin noch auf der Suche nach einer vollflächigen Wettervorschau...

                      Gruß Stoni

                      1 Antwort Letzte Antwort
                      0
                      • T Offline
                        T Offline
                        tempestas
                        schrieb am zuletzt editiert von
                        #392

                        Das dürften weatherunderground und dasWetter Adapter sein. WU hat nur 3 Tage Vorschau, muss also ein zweiter sein.

                        Im Hintergrund hat er dann irgendein blurred Bild gelegt, darüber ein img src Widget, dass auf den WU State mit dem Image verlinkt. So tippe ich das mal

                        Gestern ist bei mir mein Abschnitt "Alarm" zumindest iW. fertig geworden:

                        2395_alarm.png

                        <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                        1 Antwort Letzte Antwort
                        0
                        • sigi234S Online
                          sigi234S Online
                          sigi234
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #393

                          Hallo,

                          wie hast du die Meldungen quittieren umgesetzt?

                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Immer Daten sichern!

                          1 Antwort Letzte Antwort
                          0
                          • T Offline
                            T Offline
                            tempestas
                            schrieb am zuletzt editiert von
                            #394

                            Meinst du wirklich nur das quittieren, oder inklusive Meldung?

                            Das Quittieren ist als Teil meines Alarmanlagenskripts so eingebaut, der button verweist dann auf den idAlarmQuittieren State.

                            on(idAlarmQuittieren, function(obj){
                            
                               if(obj.state.val){
                            
                                    alarmMeldung = [];                          // Alarmmeldungsarray leeren
                                    setState(idAlarmcounter, 0 );            // Alarmcounter auf 0 setzen
                                    setState(idAlarm, 0);                       // Alarmtrigger zurückgesetzt
                                    setState(idAlarmmeldung, "");            // VIS Alarmmeldungsstate wieder leeren
                                    setState(idAlarmQuittieren, false);      // Quittierensbutton wieder auf false setzen
                               }
                            
                            });
                            
                            

                            Da das so stand alone wahrscheinlich nicht sehr aussagekräftig ist kurz ein paar Erläuterungen:

                            alarmMeldungen ist ein Array, in den bei Alarm (z.B. Fenster, Unreach oder BWM oder Kameras) aus den jeweiligen Abschnitten des Alarmskripts die Meldung reingeschrieben wird

                            idAlarmcounter ist einfach nur eine (eigentlich nicht benötigte) State, in der ich die Anzahl der vorhandenen Meldungen zähle.

                            idAlarm ist einfach nur 0 / 1 für Alarm ausgelöst oder nicht

                            idAlarmmeldung ist der state, in den die Infos aus dem alarmMeldung Array reingeschrieben werden und den ich dann anzeige

                            idAlarmQuittieren ist eine boolean Variable für den Button selbst, wobei mir gerade aufgefallen ist, dass man die eigentlich nicht braucht.

                            Falls du das inklusive der eigentlichen Meldung wissen wolltest, kurze Meldung dann gebe ich es gern

                            <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                            1 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              Arnulf
                              schrieb am zuletzt editiert von
                              #395

                              @sigi234:

                              ich habe die Menüleiste links schon immer versucht zu installieren.

                              Aber leider finde ich dazu das Widget nicht.

                              Bzw. weiß nicht, welches Paket dazu benötigt wird.

                              Ich habe ja in der click-Seite eine Demo gesehen, aber bei mir erscheint dieses Widget nicht im editor

                              1 Antwort Letzte Antwort
                              0
                              • HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von
                                #396

                                @Arnulf:

                                Aber leider finde ich dazu das Widget nicht.

                                Bzw. weiß nicht, welches Paket dazu benötigt wird. `
                                vis-Bars

                                Gruß

                                Rainer

                                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
                                0
                                • C Offline
                                  C Offline
                                  csamaggi
                                  schrieb am zuletzt editiert von
                                  #397

                                  Dann möchte ich von mir auch mal ein Paar Screens zeigen ich habe es eher schlicht gehalten von den Farben.

                                  Bin auch noch längst nicht fertig.

                                  1901_home.png

                                  1901_eg.png

                                  1901_media.png

                                  1901_sonos.png

                                  1901_tv.png

                                  1901_it.png

                                  1901_carport.png

                                  1901_wetter.png

                                  MFG Maggi

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #398

                                    @tempestas:

                                    Das Quittieren ist als Teil meines Alarmanlagenskripts so eingebaut, `
                                    So ist die Alarmquittierung nicht korrekt: Es dürfen nur die Alarme quittiert (zurück gesetzt) werden, deren Ursache (Auslöser) zum Zeitpunkt der Quttierung nicht mehr vorhanden ist.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    1 Antwort Letzte Antwort
                                    0
                                    • T Offline
                                      T Offline
                                      tempestas
                                      schrieb am zuletzt editiert von
                                      #399

                                      Hallo Paul,

                                      mein quittieren ist mehr ein "löschen und zur Kenntnis nehmen". Ich kann ohnehin nur quittieren, wenn die Alarmanlage abgeschaltet wurde, was wiederum bedeuted: ich war daheim und konnte prüfen, ob wirklich was los war oder meine Frau einfach nur bei laufender Alarmanlage ein Fenster geöffnet hat.

                                      Aber ich verstehe, was du meinst. Denke aber mal, das würde auch ein komplettes rework benötigen; ich müsste ja (denke ich mir mal) irgendwie einen Array mit den Nachrichten haben und ienen mit den auslösenden Aktoren und dessen Zustand. Beim quittieren muss dann geschaut werden, ob der auslösende Aktor nun wieder seinen Zustand geändert hat.

                                      Ganz vielleicht würde ich das hinbekommen (eine Idee habe ich, ist aber bestimmt viel zu umständlich); für <u>meine</u> Zwecke letztlich aber nicht relevant.

                                      <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                                      1 Antwort Letzte Antwort
                                      0
                                      • paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #400

                                        @tempestas:

                                        für meine Zwecke letztlich aber nicht relevant.

                                        …in den bei Alarm (z.B. Fenster, Unreach oder BWM oder Kameras) `
                                        Für Alarme, die auf die Alarmanlage bezogen sind, ist das sicherlich so ausreichend. Aber was ist mit "Unreach" ?

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        1 Antwort Letzte Antwort
                                        0
                                        • T Offline
                                          T Offline
                                          tempestas
                                          schrieb am zuletzt editiert von Jey Cee
                                          #401

                                          Ahh, da kommt die Frage her. Valider Punkt.

                                          Mein Alarmskript reagiert natürlich nicht bei einzelnen Unreach Meldungen (Homematic hat ja dauernd mal Unreach: mein Glasbruchsensor ist mehr Deko dadurch) sondern bei einer definierten Menge innerhalb kurzer Zeit. Ist mehr ein Addon, wirklich testen konnte ich es noch nicht. Der Abschnitt sieht so aus, in der Hoffnung, dass keine Fehler drin sind:

                                          // ###############################################################
                                          //                      UNREACH ALARM
                                          // ###############################################################
                                           // Sendet Alarmmitteilung an Telegram, sofern eine bestimmte anzahl an Sicherheitssensoren binnen einer definierten Zeit "unreach" melden (Verdacht auf Jammer)
                                          // Ist immer aktiv
                                           // VARIABLEN
                                           var triggered = false;           // Var als Bedingung, damit während der Laufzeit nicht ständig neu getriggered wird
                                          var timing = 15;                // Zeit in Sekunden, nach deren Ablauf durchgezählt wird 
                                          var minCount = 3;               // Mindestanzahl an unreach Meldungen im definierten Gewerk die erreicht sein müssen, um Alarm auszulösen
                                           var cacheSelectorUNREACH  = $('channel[state.id=*.UNREACH](functions="Verschluss")');      // Test soll sich nur auf die sicherheitsrelevanten Sensoren beziehen, kein Alarm wg. ausgestöpselter Steckdosen o.ä.
                                           // TRIGGER
                                           cacheSelectorUNREACH.on(function() {   
                                              if(!triggered) {   
                                          
                                                   setTimeout(countUNREACH, timing * 1000);
                                                   triggered = true;
                                                }
                                          });
                                           // FUNCTION
                                           function countUNREACH() {
                                              var count = 0;
                                                    cacheSelectorUNREACH.each(function (id, i) {
                                                         var status = getState(id).val; 
                                                         if (status === true) ++count;                                       
                                                   }); 
                                          
                                                triggered = false;
                                          
                                             if(count >= minCount){
                                          
                                                nachricht = "Ungewöhnliche Anzahl von Unreach-Meldungen. Insgesamt " +count +" Sensoren nicht erreichbar";
                                                sendTo('telegram.0', nachricht);
                                                list();
                                                }
                                          

                                          <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                                          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

                                          417

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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