Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. DWD Warnungen ein/ausblenden

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

DWD Warnungen ein/ausblenden

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 2 Kommentatoren 1.3k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    Sven2013
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich möchte gerne meine Wetterwarnungen auf dem Startbildschirm "Home" anzeigen lassen wenn es neue Warnungen gibt.

    Vielleicht auch als Popup… Da diese Meldungen aber über den anderen Informationen liegen sollen, müsste es eine Funktion "schließen" geben, damit ich die Infos darunter auch bei aktiver Warnung noch lesen kann.

    Nun haben die DWD Informationen aus dem Adapter ja keine Information, die als true oder false steht um Meldungen zu erkennen und damit die Variable für einbelden oder nicht.

    Ich nutze zur Zeit ja das Script für Erkennung meines Briefkastens, das sollte doch nach dem gleichen Prinzip funktionieren oder?

    Ich habe also eine neue Seite angelegt die DWD heißt und die dann eingeblendet werden soll...

    Hier das Script:

    /* Oeffnungen zaehlen und in VIS anzeigen
    
    für hofi77 http://forum.iobroker.net/viewtopic.php?f=21&t=1703#p14520
    
    Bitte var idBewegungsmelder = 'hm-rpc.0.Mxxxxxxxxxx.1.STATE', anpassen mit eigener Seriennummer
    
    erstellt: 14.11.2015 von Pix
    */
    
    createState('VIS.Briefkasten_voll_zeigen', false, {			//umbenennen in ('VIS.DWD_Warnungen', false, {	
       read: true,
       write: true,
       type: 'boolean',
       name: 'Briefkasten voll in VIS Widget anzeigen',			//umbenennen in name: 'DWD_Warnungen Widget anzeigen',
       desc: 'Steuervariable für VIS Widget Sichtbarkeit'
    });
    
    createState('VIS.Briefwürfe_zaehlen', 0, {				//Dieser Absatz müsste doch überflüssig sein oder?	
       read: true,
       write: true,
       type: 'number',
       name: 'Briefwürfe zählen',
       desc: 'Counter für Briefwürfe, wird mit schedule zurückgesetzt'
    });
    
    var idBewegungsmelder = 'hm-rpc.0.MEQ0215699.1.STATE',		//muss heißen var idDWDWarnungen = '???',	
        idCountMotion = 'VIS.Briefwürfe_zaehlen',				//Überflüssig
        idShowMotion = 'VIS.Briefkasten_voll_zeigen';			//Überflüssig
    
    on({
        id: idBewegungsmelder,							//umbenennen id: idDWDWarnungen,	
        val: true
    }, function (obj) {
        var counter = getState(idCountMotion).val; // bisherige Zahl aus Variable einlesen		//Überflüssig
        setState(idCountMotion, ++counter); // eins hochzählen						//Überflüssig
        setState(idShowMotion, true); // Steuerung VIS-Widget Sichtrbarkeit auf wahr		//Überflüssig
    //    setStateDelayed(idShowMotion, false, 10000); // nach 10.000 ms wieder ausblenden	//Überflüssig
    });
    
    on({
        id: "hm-rpc.0.MEQ0215699.3.STATE",										// Hier fehlt mir die Idee
        val: true // hier ggf. false eintragen. Abhängig davon, ob Tür offen = true oder false	//belibt so
    }, function (obj) {													//bleibt so
        setState(idCountMotion, 0); // reset										//bleibt so
        setState(idShowMotion, false); // Steuerung VIS-Widget Sichtrbarkeit auf aus			//bleibt so
    });
    
    on(idBewegungsmelder, function (obj) {										//umbenennen on(idDWDWarnungen, function (obj) {
        log('Briefkasten betätigt, View wird gewechselt');								//umbenennen DWD wird gewechselt
        setState ('vis.0.control.command', {instance: 'FFFFFFFF', command: 'cmd', data: 'Haupt'}); // hier den Namen der Ziel-View eintragen
    });
    

    Kann mir jemand sagen an welchen stelle das so möglich ist, oder wo etwas geändert werden muss? Ich möchte nämlich gerne verstehen was ich ändern muss um damit selbst meine Scripte ändern zu können.

    Vielen Dank schonmal

    Gruß Sven

    1 Antwort Letzte Antwort
    0
    • andreA Offline
      andreA Offline
      andre
      Developer
      schrieb am zuletzt editiert von
      #2

      Ich mache das wie folgt:

      Wetter Widget ist nur sichtbar wenn ein eigens erstellter Datenpunkt "Wetterwarnung_Bestaetigung" true ist. Der Datenpunkt wird über ein Script gesteuert. Gibt es eine neue Warnung oder Änderung einer bestehenden, wird der Datenpunkt auf true gesetzt. Über dem Wetter Widget liegt ein weiteres, transparentes Widget mit dem ich den Wert von "Wetterwarnung_Bestaetigung" manuell auf false setzen kann (bestätigen). Das transparente Widget ist ebenfalls nur sichtbar wenn der Datenpunkt true ist.

      Zusätzlich habe ich auch noch ein Widget mit dem ich die Wetterwarnung wieder anzeigen kann (Datenpunkt auf false setzen).

      MfG, Andre

      Geschrieben mit Tapatalk

      Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        Sven2013
        schrieb am zuletzt editiert von
        #3

        Hallo Andre,

        vielen Dank für deine Beschreibung. Ich habe verstanden wie du das meinst, allerdings kann ich es noch nicht ganz umsetzen.

        Bist du so nett und postest einemmal deine zugehörigen scripte? Ich dachte nämlich das ich das was du beschrieben hast mit dem Script oben schon ähnlich abgebildet hatte. Allerdings klappte das nicht.

        Gruß Sven

        Gesendet von iPhone mit Tapatalk

        1 Antwort Letzte Antwort
        0
        • andreA Offline
          andreA Offline
          andre
          Developer
          schrieb am zuletzt editiert von
          #4

          Also hier gleich mal vorweg meine Widgets:

          ! [{"tpl":"tplDwdAdapter","data":{"visibility-cond":"==","visibility-val":"false","oid-begin":"dwd.0.warning.begin","oid-end":"dwd.0.warning.end","oid-headline":"dwd.0.warning.headline","oid":"dwd.0.warning.description","oid-severity":"dwd.0.warning.severity","visibility-oid":"javascript.0.vis.wetterwarnung.bestaetigung1","name":"Popup - Wetterwarnung 1","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"235px","top":"635px","color":"","width":"895px","height":"128px","background-color":"","padding":"","margin-top":"","font-size":"medium","z-index":"10","border-radius":"25px","border-style":"none","padding-top":""},"widgetSet":"dwd"},{"tpl":"tplMetroTileToggle","data":{"oid":"javascript.0.vis.wetterwarnung.bestaetigung1","visibility-cond":"==","visibility-val":"false","hover":false,"transform":false,"bg_class_false":"","bg_class_true":"","icon_class_false":"","icon_class_true":"","icon_badge_false":"","icon_badge_true":"","badge_bg_class_false":"","badge_bg_class_true":"","brand_bg_class_false":"","brand_bg_class_true":"","badge_top":"0","badge_left":"0","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.vis.wetterwarnung.bestaetigung1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"name":"Popup - Bestätigung Wetterwarnung 1"},"style":{"left":"235px","top":"635px","padding":"0px","width":"895px","height":"128px","z-index":"11","opacity":"0"},"widgetSet":"metro"}] !
          Zwei Widgets. Das DWD Widget für die Warnung selbst, das Tile Toggle Widget zum manuellen bestätigen der Warnung oben drüber.

          Mit dem Script wird es jetzt ein bisschen komplizierter. :( Da ich mir bis zu drei Wetterwarnungen anzeigen lasse, ebenso wie eine Meldung "Keine Wetterwarnungen vorhanden", ist in dem Script auch noch eine Variable enthalten, die mir Sagt ob überhaupt eine Wetterwarnung vorhanden ist.

          Hier mal das Script mit kurzen Kommentaren:

          ! // Datenpunkte anlegen createState('vis.wetterwarnung.vorhanden', false, {name: 'Liegt mindestens eine Wetterwarnung vor?'}); // Variable für "Ist eine Wetterwarnung vorhanden?" createState('vis.wetterwarnung.bestaetigung1', false, {name: 'Bestätigung der Wetterwarnung1'}); // Variablen für die Bestätigung und damit die Sichtbarkeit der einzelnen Warnungen createState('vis.wetterwarnung.bestaetigung2', false, {name: 'Bestätigung der Wetterwarnung2'}); createState('vis.wetterwarnung.bestaetigung3', false, {name: 'Bestätigung der Wetterwarnung3'}); ! // Datenpunkt-IDs var idVorhanden = "vis.wetterwarnung.vorhanden"; var idBestaetigung1 = "vis.wetterwarnung.bestaetigung1"; var idWarnung1 = "dwd.0.warning.severity"; var idBestaetigung2 = "vis.wetterwarnung.bestaetigung2"; var idWarnung2 = "dwd.0.warning2.severity"; var idBestaetigung3 = "vis.wetterwarnung.bestaetigung3"; var idWarnung3 = "dwd.0.warning3.severity"; ! // Variablendeklaration und Initialisierung bei Scriptstart var stateVorhanden = getState(idVorhanden).val; var stateBestaetigung1 = getState(idBestaetigung1).val; var stateWarnung1 = getState(idWarnung1).val; var stateBestaetigung2 = getState(idBestaetigung2).val; var stateWarnung2 = getState(idWarnung1).val; var stateBestaetigung3 = getState(idBestaetigung3).val; var stateWarnung3 = getState(idWarnung1).val; ! // Funktion zum Ermitteln ob Wetterwarnungen vorliegen function setvorhanden() { if (stateWarnung1 !== 0 || stateWarnung2 !== 0 || stateWarnung3 !== 0) { // Wenn severity bei einer Warnung ungleich 0, dann liegt mindestens eine Warnung vor. setState(idVorhanden, true); } else { setState(idVorhanden, false); } } ! // Funktionsaufruf bei Scriptstart setvorhanden(); ! // Funktionsaufruf bei Änderung der Stati on(idWarnung1, function(dp) { // Wenn severity sich ändert... stateWarnung1 = dp.newState.val; // Neuen severity Wert in den state schreiben... setState(idBestaetigung1, false); // Bestätigung auf "nicht bestätigt setzten" setvorhanden(); // Funktion zum Vorhandensein aufrufen um auch den Status für das Vorhandensein einer Warnung zu aktualisieren }); on(idWarnung2, function(dp) { stateWarnung2 = dp.newState.val; setState(idBestaetigung2, false); setvorhanden(); }); on(idWarnung3, function(dp) { stateWarnung3 = dp.newState.val; setState(idBestaetigung3, false); setvorhanden(); }); !
          Wo ich das hier aber gerade so nochmal durchdenke und teste fällt mir auf, dass in meinem Script noch ein Denkfehler ist. So wird aktuell der Status für die Bestätigung auch auf false gesetzt wenn eine Warnung aufgehoben wird (also z.B. severity von 1 auf 0 gesetzt wird).

          Das fällt bei mir in vis aber nicht auf, da in diesem Fall meine Widgets sowieso durchsichtig sind… :) Werde das nochmal ein bisschen umkonfigurieren müssen...

          MfG,

          André

          Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

          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

          687

          Online

          32.6k

          Benutzer

          82.2k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe