Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. VIS Sammlung von Views - gibt's das schon wo?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    VIS Sammlung von Views - gibt's das schon wo?

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

      Hallo, hab auch mal ein paar Seiten zu 80 % fertig gestellt.
      909_img_0057.png
      909_img_0058.png
      909_img_0059.png
      909_img_0060.png

      L 2 Replies Last reply Reply Quote 0
      • etv
        etv last edited by

        das mit dem roten "Rahmen" schaut cool aus, wie hast du da den weichen Rand gemacht?

        Grüße

        etv

        1 Reply Last reply Reply Quote 0
        • S
          simpixo last edited by

          Was ist denn "Magic Mirror" das was ich denke!? Ein Spiegel hinter dem ein Bildschirm angebracht ist!?

          Gesendet von meinem iPhone mit Tapatalk

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

            @ simpixo: ja genau das ist so ein teil liegt aber leider vorerst so da, muss noch den rahmen bauen. das Programm ist fertig.

            @etv: du hast, rechts bei schatten eine Feld mit box-shadow dort schreibst du, wie in meinen fall "0px 0px 20px 1px red" rein danach kannst du es deinen wünschen anpassen.

            (Danke an Bluefox)

            Mit freundlichen Grüßen
            909_screenshot_2015-12-31_15.35.43.png

            1 Reply Last reply Reply Quote 0
            • S
              simpixo last edited by

              Hast du da eine Anleitung!? Sieht gut aus….

              Gesendet von meinem iPhone mit Tapatalk

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

                eine Anleitung nicht direkt habe es mir umgeschrieben vom Entwickler, dieser aus der nl ist.

                hier der link aber sei dir gesagt so einfach ist das nicht und nimmt viel zeit in Anspruch.

                falls du Hilfe brauchst, pn, kein Thema!

                http://michaelteeuw.nl/post/80391333672 … the-mirror

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

                  @fischi87:

                  @etv: du hast, rechts bei schatten eine Feld mit box-shadow dort schreibst du, wie in meinen fall "0px 0px 20px 1px red" rein danach kannst du es deinen wünschen anpassen.

                  (Danke an Bluefox) `

                  …super, danke dir!! Man sollte mal mehr mit den ganzen Feldern einfach nur rumspielen, da ist sicher noch unglaublich viel Potential drinnen!!

                  Grüße

                  etv

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

                    Oh ja, hab vieles durch Langeweile und probieren erfahren 🙂

                    1 Reply Last reply Reply Quote 1
                    • S
                      simpixo last edited by

                      Welchen Spiegel benutzt du da genau!? Hast du eine Bezugsquelle! Finde in Moment nur Spiegelfolie [emoji30]

                      Gesendet von meinem iPhone mit Tapatalk

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

                        ich werde mir normales Glas schneiden lassen und Spionage-foilie verwenden. Hab auch noch nichts ausprobiert aber ich denke so wert ich dies tun.

                        sowas zb: http://www.d-c-fix.com/spionagefolie-5336.html

                        Mit freundlichen Grüßen

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

                          Hi zusammen,

                          @fischi87: Wie hast du den Ping Adapter eingebunden? Wie genau muss ich hier vorgehen? Klappt bei mir nicht richtig.

                          Gruß Tom

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

                            Installiert hast du den Adapter?

                            Hab erstmal meinem magicmirror ne feste io vergeben diese dann mit dem plus Zeichen in der config des pingadapters erstellt. Jetzt müsstest du unter Objekte/pinadapter diese ip bzw den Namen sehen.

                            Oder meinst du in der vis?

                            hier der code für die vis:

                            [{"tpl":"tplMfdSocket","data":{"oid":"ping.0.RaspberryPi.192_168_178_24","visibility-cond":"==","visibility-val":1,"asButton":false,"icon_off":"/icons-open-icon-library-png/actions/dialog-cancel-4.png","icon_on":"/icons-open-icon-library-png/actions/dialog-ok-2.png"},"style":{"left":"280px","top":"80px","background":"rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box","width":"51px","height":"48px"},"widgetSet":"jqui-mfd"},{"tpl":"tplRedNumber","data":{"oid":"hm-rega.0.13919","visibility-cond":"==","visibility-val":1,"type":"circle","html_append_singular":"","html_append_plural":" °C"},"style":{"left":"200px","top":"30px","width":"62px","height":"35px","background":"0px","border-width":"0px","font-style":"italic","font-variant":"small-caps","font-size":"x-large"},"widgetSet":"basic"},{"tpl":"tplFrame","data":{"visibility-cond":"==","visibility-val":1,"title":"Raspberry-Pi:","title_color":"#FFFFFF","title_top":"13","title_left":"15","header_height":"0","header_color":"black","title_font":""},"style":{"left":"30px","top":"20px","width":"315px","height":"55px","border-width":"","border-style":"","border-color":"","border-radius":"40px","box-shadow":"0px 0px 20px 1px red","font-style":"italic","font-variant":"small-caps","font-size":"x-large"},"widgetSet":"basic"},{"tpl":"tplFrame","data":{"visibility-cond":"==","visibility-val":1,"title":"Magic-Mirror:","title_color":"#FFFFFF","title_top":"13","title_left":"15","header_height":"0","header_color":"black","title_font":""},"style":{"left":"30px","top":"80px","width":"315px","height":"55px","border-width":"","border-style":"","border-color":"","border-radius":"40px","box-shadow":"0px 0px 20px 1px red","font-style":"italic","font-variant":"small-caps","font-size":"x-large"},"widgetSet":"basic"},{"tpl":"tplMfdSocket","data":{"oid":"ping.0.RaspberryPi.192_168_178_23","visibility-cond":"==","visibility-val":1,"asButton":false,"icon_off":"/icons-open-icon-library-png/actions/dialog-cancel-4.png","icon_on":"/icons-open-icon-library-png/actions/dialog-ok-2.png","visibility-oid":"ping.0.RaspberryPi.192_168_178_23"},"style":{"left":"280px","top":"20px","background":"rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box","width":"51px","height":"48px"},"widgetSet":"jqui-mfd"},{"tpl":"tplFrame","data":{"visibility-cond":"==","visibility-val":1,"title":"CCU 2","title_color":"#FFFFFF","title_top":"13","title_left":"15","header_height":"0","header_color":"black","title_font":""},"style":{"left":"30px","top":"140px","width":"315px","height":"55px","border-width":"","border-style":"","border-color":"","border-radius":"40px","box-shadow":"0px 0px 20px 1px red","font-style":"italic","font-variant":"small-caps","font-size":"x-large"},"widgetSet":"basic"},{"tpl":"tplMfdSocket","data":{"oid":"ping.0.RaspberryPi.192_168_178_38","visibility-cond":"==","visibility-val":1,"asButton":false,"icon_off":"/icons-open-icon-library-png/actions/dialog-cancel-4.png","icon_on":"/icons-open-icon-library-png/actions/dialog-ok-2.png","visibility-oid":"","invert_state":false,"invert_icon":false},"style":{"left":"280px","top":"140px","background":"rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box","width":"51px","height":"48px"},"widgetSet":"jqui-mfd"}]
                            

                            Mfg

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

                              Hallo und gutes Neues Jahr!

                              Jetzt habe ich mich mal durchgerungen, einige meiner VIS Views zu zeigen.

                              Strom: 261_bildschirmfoto_2016-01-02_um_21.04.06.jpg
                              Systemübersicht: 261_bildschirmfoto_2016-01-02_um_21.04.59.png
                              Drucker: 261_bildschirmfoto_2016-01-02_um_21.05.19.jpg
                              ISS (derzeit kein Einlesen der Daten, da Feed offline): 261_bildschirmfoto_2016-01-02_um_21.03.03.jpg
                              TV Progamm (noch mit dem Testknopf für Harmony :lol: 😞 261_bildschirmfoto_2016-01-02_um_21.02.32.jpg
                              Stellvertretender Raum Schlafzimmer: 261_bildschirmfoto_2016-01-02_um_21.05.40.jpg
                              Schlafzimmer Fenstereinstellungen (Untermenüpunkt): 261_bildschirmfoto_2016-01-02_um_21.05.54.jpg
                              Verkehr: 261_bildschirmfoto_2016-01-02_um_21.01.57.png
                              LED16 Anzeige: 261_bildschirmfoto_2016-01-02_um_21.26.48.png
                              Optin - hauptsächlich zum Ein/Ausschalten von Benachrichtigungen per Sayit/Pushover: 261_bildschirmfoto_2016-01-02_um_21.17.46.jpg
                              Die Views sind für eine iPad Air 1 im Querformat gebaut. Für unsere iPhones habe ich abgespeckte Views für das Nötigste gebaut.

                              Die Optin Seite habe ich heute erst umgebaut, etwas modernisiert. Da stecken natürlich viel Arbeit und sehr viel Variablen drin.

                              Viele Grüße,

                              Pix

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

                                Servus

                                coole views!

                                kannst du mir erklären wie man den status der Druckerpatronen ermitteln kann bzw auslesen?

                                Mit freundlichen Grüßen

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

                                  Drucker:

                                  http://forum.iobroker.net/viewtopic.php?t=910#p6931

                                  Gruß

                                  Pix

                                  Gesendet mit Tapatalk

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

                                    @fischi87:

                                    Installiert hast du den Adapter?

                                    Hab erstmal meinem magicmirror ne feste io vergeben diese dann mit dem plus Zeichen in der config des pingadapters erstellt. Jetzt müsstest du unter Objekte/pinadapter diese ip bzw den Namen sehen.

                                    Oder meinst du in der vis?

                                    hier der code für die vis:

                                    [{"tpl":"tplMfdSocket","data":{"oid":"ping.0.RaspberryPi.192_168_178_24","visibility-cond":"==","visibility-val":1,"asButton":false,"icon_off":"/icons-open-icon-library-png/actions/dialog-cancel-4.png","icon_on":"/icons-open-icon-library-png/actions/dialog-ok-2.png"},"style":{"left":"280px","top":"80px","background":"rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box","width":"51px","height":"48px"},"widgetSet":"jqui-mfd"},{"tpl":"tplRedNumber","data":{"oid":"hm-rega.0.13919","visibility-cond":"==","visibility-val":1,"type":"circle","html_append_singular":"","html_append_plural":" °C"},"style":{"left":"200px","top":"30px","width":"62px","height":"35px","background":"0px","border-width":"0px","font-style":"italic","font-variant":"small-caps","font-size":"x-large"},"widgetSet":"basic"},{"tpl":"tplFrame","data":{"visibility-cond":"==","visibility-val":1,"title":"Raspberry-Pi:","title_color":"#FFFFFF","title_top":"13","title_left":"15","header_height":"0","header_color":"black","title_font":""},"style":{"left":"30px","top":"20px","width":"315px","height":"55px","border-width":"","border-style":"","border-color":"","border-radius":"40px","box-shadow":"0px 0px 20px 1px red","font-style":"italic","font-variant":"small-caps","font-size":"x-large"},"widgetSet":"basic"},{"tpl":"tplFrame","data":{"visibility-cond":"==","visibility-val":1,"title":"Magic-Mirror:","title_color":"#FFFFFF","title_top":"13","title_left":"15","header_height":"0","header_color":"black","title_font":""},"style":{"left":"30px","top":"80px","width":"315px","height":"55px","border-width":"","border-style":"","border-color":"","border-radius":"40px","box-shadow":"0px 0px 20px 1px red","font-style":"italic","font-variant":"small-caps","font-size":"x-large"},"widgetSet":"basic"},{"tpl":"tplMfdSocket","data":{"oid":"ping.0.RaspberryPi.192_168_178_23","visibility-cond":"==","visibility-val":1,"asButton":false,"icon_off":"/icons-open-icon-library-png/actions/dialog-cancel-4.png","icon_on":"/icons-open-icon-library-png/actions/dialog-ok-2.png","visibility-oid":"ping.0.RaspberryPi.192_168_178_23"},"style":{"left":"280px","top":"20px","background":"rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box","width":"51px","height":"48px"},"widgetSet":"jqui-mfd"},{"tpl":"tplFrame","data":{"visibility-cond":"==","visibility-val":1,"title":"CCU 2","title_color":"#FFFFFF","title_top":"13","title_left":"15","header_height":"0","header_color":"black","title_font":""},"style":{"left":"30px","top":"140px","width":"315px","height":"55px","border-width":"","border-style":"","border-color":"","border-radius":"40px","box-shadow":"0px 0px 20px 1px red","font-style":"italic","font-variant":"small-caps","font-size":"x-large"},"widgetSet":"basic"},{"tpl":"tplMfdSocket","data":{"oid":"ping.0.RaspberryPi.192_168_178_38","visibility-cond":"==","visibility-val":1,"asButton":false,"icon_off":"/icons-open-icon-library-png/actions/dialog-cancel-4.png","icon_on":"/icons-open-icon-library-png/actions/dialog-ok-2.png","visibility-oid":"","invert_state":false,"invert_icon":false},"style":{"left":"280px","top":"140px","background":"rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box","width":"51px","height":"48px"},"widgetSet":"jqui-mfd"}]
                                    

                                    Mfg `

                                    Vielen Dank!

                                    Genau den VIS Code meinte ich.

                                    Top 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • blauholsten
                                      blauholsten Developer last edited by

                                      @pix

                                      Erstmal Glückwunsch zu deinen views! Du hast dort einer immer wiederkehrende Funktionalität in deinen views , das über zwei Elemente Zeiten zu verstellen (+/-).

                                      Könntest du mal Posten wie du das script mäßig gelöst hast? Ich hätte zwar eine Idee, aber…..

                                      Dann hast du dir auch die Möglichkeit geschaffen (push/Sprache) an und ab zu schalten. Löst du das im script dann immer mit if Abfrage n?

                                      Gesendet vom Smartphone

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

                                        Hallo blauholsten,
                                        @blauholsten:

                                        Erstmal Glückwunsch zu deinen views! ` Vielen Dank, das freut mich!
                                        @blauholsten:

                                        Du hast dort einer immer wiederkehrende Funktionalität in deinen views , das über zwei Elemente Zeiten zu verstellen (+/-).

                                        Könntest du mal Posten wie du das script mäßig gelöst hast? ` Die Steuerelemente sind die "increment-Widgets" aus VIS. 261_bildschirmfoto_2016-01-03_um_13.22.33.jpg Damit werden die Variablen (Typ Nummer) erhöht oder gesenkt. Die Schrittweite und den Max/Min-Wert in die jeweilige Richtung kann man vorgeben.

                                        In diesem Beispiel ist das der untere Grenzwert für die Luftfeuchte im Schlafzimmer. Wenn der unterschritten wird, gibt es eine Nachricht. Statt ihn einfach mit var grenzwert = 40 vorzugeben, habe ich mit createState ein Objekt erstellt (javascript.0.Alarm.Schlafzimmer.Luftfeuchte.Grenzwert). Dieses Objekt lässt sich dann mit den Widgets bedienen.

                                        @blauholsten:

                                        Dann hast du dir auch die Möglichkeit geschaffen (push/Sprache) an und ab zu schalten. Löst du das im script dann immer mit if Abfrage n? ` Ja, das ist eine von mir sehr häufig verwendete Möglichkeit. Manchmal möchte ich das System "leise" haben, dann kann ich schnell in VIS die entsprechenden Meldung (Push oder Sayit) abschalten. DWD Meldungen setzen eine bestimmte Stärke (Severity) voraus. Da muss ich etwas ausholen. Hier nochmal das Skript zur Luftfeuchte:

                                        ! ````
                                        /* Schlafzimmer Alarm Luftfeuchte
                                        ! Skript meldet, wenn Luftfeuchte im Schlafzimmer unter Grenzwert sinkt

                                        • bei Anwesenheit per Sayit
                                        • bei Abwesenheit per Push
                                          OptIn Variablen werden angelegt
                                          Grezwert Variable wird angelegt

                                        ! todo: Pushover Priorität per VIS-Eingabe setzen
                                        Sayit-Lautstärke per VIS setzen
                                        ! erstellt: 25.04.2015 von pix
                                        geändert: 25.04.2015
                                        30.05.2015 Optin Variable Unterkategorie erstellt
                                        03.06.2015 Sayit-Ansage auf 40% Lautstärke gesetzt
                                        13.07.2015 umbenannt in Schlafzimmer_Alarm_uftfeuchte
                                        18.07.2015 Sayit als globale Funktion eingeführt
                                        09.12.2015 Optin Ordnerstruktur optimiert
                                        Grenzwertvariable neu platziert
                                        Alarmvariable erstellt
                                        ! */
                                        // Erstellen der Variablen
                                        createState('Alarm.Schlafzimmer.Luftfeuchte', false, {
                                        name: 'Schlafzimmer - niedrige Luftfeuchte',
                                        desc: 'niedrige Luftfeuchte im Schlafzimmer wird gemeldet',
                                        type: 'boolean',
                                        read: true,
                                        write: true
                                        });
                                        createState('Alarm.Schlafzimmer.Luftfeuchte.Grenzwert.unten', 40, {
                                        name: 'Schlafzimmer Luftfeuchte unterer Grenzwert',
                                        desc: 'Grenzwert, dessen Unterschreitung zu Alarmierung führt',
                                        type: 'number',
                                        unit: '%',
                                        read: true,
                                        write: true
                                        });
                                        createState('Optin.Schlafzimmer.Luftfeuchte.Push', true, {
                                        name: 'Optin Schlafzimmer niedrige Luftfeuchte melden',
                                        desc: 'Soll eine zu niedrig Luftfeuchte im Schlafzimmer gemeldet werden?',
                                        type: 'boolean',
                                        read: true,
                                        write: true
                                        });
                                        createState('Optin.Schlafzimmer.Luftfeuchte.Sayit', true, {
                                        name: 'Optin Schlafzimmer niedrige Luftfeuchte ansagen',
                                        desc: 'Soll eine zu niedrige Luftfeuchte im Schlafzimmer angesagt werden?',
                                        type: 'boolean',
                                        read: true,
                                        write: true
                                        });
                                        ! var idFeuchte = "hm-rpc.0.HEQ012345.1.HUMIDITY"/Thermostat Schlafzimmer Sensoren.HUMIDITY/,
                                        idGrenzwert = "javascript.0.Alarm.Schlafzimmer.Luftfeuchte.Grenzwert.unten",
                                        idAlarm = "javascript.0.Alarm.Schlafzimmer.Luftfeuchte",

                                        idAnwesenheit = "javascript.0.Anwesenheit"/*Status Anwesenheit*/,
                                        idNachtruhe = "javascript.0.Nachtruhe"/*Status Nachtruhe*/,
                                        
                                        optin_beschreibung = "Schlafzimmer Luftfeuchte",
                                        idOptinSayit = "javascript.0.Optin.Schlafzimmer.Luftfeuchte.Sayit",
                                        idOptinPush = "javascript.0.Optin.Schlafzimmer.Luftfeuchte.Push";
                                        

                                        ! // Pushmeldung
                                        function meldung_push (text, titel, prio) {
                                        var optin_push = getState(idOptinPush).val;
                                        if (optin_push) { // wenn Optin
                                        sendTo("pushover", {
                                        message: text,
                                        title: titel,
                                        priority: prio
                                        });
                                        } // Ende Optin
                                        }
                                        // Sayit
                                        function meldung_sayit (ansage) {
                                        var optin_sayit = getState(idOptinSayit).val;
                                        if (optin_sayit) { // wenn Optin
                                        sayit(ansage); // globale Funktion
                                        } // Ende Optin
                                        }
                                        ! // Meldung absetzen
                                        on( {
                                        id: idAlarm,
                                        change: 'ne'
                                        }, function(obj) {
                                        var anwesenheit = getState(idAnwesenheit).val,
                                        nachtruhe = getState(idNachtruhe).val,
                                        grenzwert = getState(idGrenzwert).val,
                                        luftfeuchte = getState(idFeuchte).val,
                                        status,
                                        betreff = "ioBroker Meldung";
                                        if (obj.newState.val === true) {
                                        if (anwesenheit === 0) { // wenn abwesend
                                        status = 'Die Luftfeuchte im Schlafzimmer sinkt unter den Grenzwert von ' + grenzwert + ' Prozent und liegt aktuell bei ' + luftfeuchte + ' Prozent. Bitte nach der Rückkehr den VENTA einschalten.';
                                        meldung_push(status, betreff, 0);
                                        log(status, 'info');
                                        } else if (anwesenheit === 1) { // wenn anwesend
                                        if (nachtruhe !== 1) { // wenn nicht Nachtruhe
                                        status = 'Die Luftfeuchte im Schlafzimmer sinkt unter den Grenzwert von ' + grenzwert + ' Prozent und liegt aktuell bei ' + luftfeuchte + ' Prozent. Bitte den VENTA einschalten.';
                                        meldung_sayit('40;Die Luftfeuchte im Schlafzimmer sinkt unter den Grenzwert von ' + grenzwert + ' Prozent.');
                                        meldung_push(status, betreff, 0);
                                        } else { // bei Nachtruhe
                                        status = 'Die Luftfeuchte im Schlafzimmer sinkt während dieser Nachtruhe unter den Grenzwert von ' + grenzwert + ' Prozent und liegt aktuell bei ' + luftfeuchte + ' Prozent.';
                                        } // Ende Nachtruhe
                                        } // Ende Anwesenheit
                                        } // Ende Meldung
                                        log(status, "info");
                                        });
                                        ! // -------------------------------
                                        // Auslöser
                                        // Niedrige Feuchte führt zu Alarm
                                        on( {
                                        id: idFeuchte,
                                        change: 'ne'/,
                                        valLt: 40
                                        /
                                        }, function(data) {
                                        var grenzwert = getState(idGrenzwert).val;
                                        if (data.newState.val < grenzwert) {
                                        setState(idAlarm, true);
                                        } else {
                                        setState(idAlarm, false);
                                        }
                                        });
                                        ! // ----------------------------------
                                        // Grenzwert setzen - Logging
                                        on( {
                                        id: idGrenzwert,
                                        change: 'ne'
                                        }, function (data) {
                                        log('Der Grenzwert <schlafzimmer luftfeuchte=""> wurde auf ' + data.newState.val + ' Prozent gesetzt ', 'info');
                                        });
                                        ! // Opt In setzen - Logging
                                        on( {
                                        id: idOptinPush,
                                        change: 'ne'
                                        }, function (obj) {
                                        log('Opt in Variable <' + optin_beschreibung + ' Push> auf <' + obj.newState.val + '> gesetzt ', 'info');
                                        });
                                        ! on( {
                                        id: idOptinSayit,
                                        change: 'ne'
                                        }, function (obj) {
                                        log('Opt in Variable <' + optin_beschreibung + ' Sayit> auf <' + obj.newState.val + '> gesetzt ', 'info');
                                        });</schlafzimmer>

                                        Neben den Objekten für den Grenzwert und den Alarm (boolean) werden jeweils für Push(-over) und Sayit eine Optin-Variable (boolean) erstellt.
                                        
                                        Die Funktionen "meldung_push" und "meldung_sayit", sowie ganz unten der Subscribe of diese Objekte zum Loggen sind in allen Skripten gleich. "meldung_push" und "meldung_sayit" fragen ab, ob eine Benachrichtigung gewünscht wird und geben dann die Nachricht weiter (Push an den Pushover Adapter, Sayit an eine globale Funktion sayit, welche dann an den Sayit-Adapter weiterreicht).
                                        
                                        Der eigentliche Auslöser des Alarms ist ein kleines Skript, dass bei entsprechender Luftfeuchte die Alarmvariable auf true setzt. Ein zweiter Subscribe (darüber) reagiert auf die Alarmvariable und setzt je nach Anwesenheit (Boolean, aber mit Nummern 0 und 1) und Nachtruhe (dito) die jeweilige Meldung ab. Die 0/1-Variante bei diesen Variablen ist noch ein Überbleibsel aus CCU.IO Zeiten und wird demnächst auf boolean umgestellt (richtig viel Arbeit!).
                                        
                                        Ein kleines Skript, dass nur eine Meldung bei Unterschreiten eines Wertes schicken soll, wächst so natürlich schnell auf rund 150 Zeilen. Das ist aber egal. Genug Power ist ja da. Mir ist eine gleichbleibende Struktur wichtig.
                                        
                                        Dieses Skript kann ich noch gut um die Möglichkeit erweitern, die Priorität der Pushnachricht auch per VIS einzugeben. Vielleicht mache ich das noch 8-)
                                        
                                        Gruß
                                        
                                        Pix
                                        1 Reply Last reply Reply Quote 0
                                        • blauholsten
                                          blauholsten Developer last edited by

                                          Danke Pix für die ausführliche Erklärung! Ich werde einiges davon benutzen 😉 …

                                          Macht es nicht sind die Funktion "meldung_push" auch global anzulegen?

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

                                            @blauholsten:

                                            Macht es nicht sind die Funktion "meldung_push" auch global anzulegen? `
                                            Klares Jein!

                                            Die globale Funktion sayit kommt daher, dass ich zur Sayit-Ausgabe tatsächlich etwas mehr Code benötige (damit keine doppelte Ausgabe kommt). Für Pushover ist das nicht nötig. Da stören mich die 5 Zeilen nicht, auch wenn sie in jedem Skript vorhanden sind. Kann aber durchaus sein, dass ich das später mal ändere.

                                            Gruß,

                                            Pix

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            453
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            88
                                            226
                                            153148
                                            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