Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Script für Klingel

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Script für Klingel

Scheduled Pinned Locked Moved Skripten / Logik
42 Posts 8 Posters 8.8k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    SigiMOE
    wrote on last edited by
    #41

    @SigiMOE:

    Hi,

    Ich habe von hier : http://forum.iobroker.net/viewtopic.php … 130#p60021

    folgendes Skript im Einsatz

    ! ````
    createState('Kamerabild', false, false, {
    name: 'Kamerabild',
    desc: 'Flag um Kamerabild beim Klingeln anzuzeigen',
    type: 'boolean',
    def: false
    });
    ! var idKamerabild = 'javascript.' + instance + '.Kamerabild'; // auf die Punkte achten
    var idKlingelsensor = 'hm-rpc.0.MEQ0656994.1.PRESS_SHORT'; // hier Klingelsensor Datenpunkt eintragen
    ! on({id: idKlingelsensor, val: true}, function (obj) {
    // wenn geklingelt und Sensordatenpunkt geht auf true
    clearStateDelayed(idKamerabild); // alle Verzögerungen werden erstmal gelöscht
    setState(idKamerabild, true); // Kamerabild wird eingeblendet
    log('Kamerabild wird eingeblendet');
    setStateDelayed(idKamerabild, false, 30*1000, function () { // Kamerabild wird nach 30.000ms/30s ausgeblendet
    log('Kamerabild wird ausgeblendet');
    });
    });

    
    Jetzt meine Frage, kann ich ein 2\. Skript anlegen hier aus dem Thread oder ist dies nicht optimal, da ich ja schon die ID bzw. den Klingelsensor Datenpunkt verwende, bzw. erzeugt habe.
    
    So wie hier
    
    ![](http://forum.iobroker.net/download/file.php?id=5458)~~![](</s><URL url=)http://forum.iobroker.net/download/file.php?id=5458" />
    
    sollte es dann in etwa ausgeben werden, finde ich zumindest sehr cool.
    
    Also ein Wert ( wie oft es geklingelt hat im Laufe des Tages ) und die passenden Uhrzeiten, am Liebsten noch
    
    mit den passenden Kamerabilder und um 23:00 Uhr soll alles wieder auf "Null" gesetzt werden und die Bilder welche erzeugt wurden automatisch gelöscht. ;-)
    
    Dies wäre die Deluxe Variante :-)
    
    Also ein Wert ( wie oft es geklingelt hat im Laufe des Tages ) und die passenden Uhrzeiten wäre mir am Wichtigsten, der Rest wäre nice to have…
    
    CU
    
    Sigi~~ `   ~~Jetzt habe ich ein wenig weitergespielt :
    

    Dieses Skript habe ich KlingelZ genannt :

    ! ````
    createState('Klingel', false, {name: 'Klingel'}); // Variable für die Klingel, wird nach dem Klingeln nach 30s wieder zurückgesetzt
    ! createState('Klingel.Zaehler', {name: 'Zahl der Klingelaktionen', type: 'number'});
    ! var idKlingel = "hm-rpc.0.MEQ0656994.1.PRESS_SHORT", // Je nachdem, welchen Sensor du hier angeschlossen hast, kann der Datenpunkt zB auch PRESS_LONG oder PRESS_SHORT heissen
    idStatusKlingel = "javascript.0.Klingel";

    ! // Klingelsensor abfragen und Statusvariable verzögert zurücksetzen
    on( {
    id: idKlingel,
    val: true // es hat geklingelt
    }, function (obj) {
    setState(idStatusKlingel, true); // Statusvariable auf true
    // Verzögerung 30s - dann wieder auf false
    log('Klingel Haustür <geklingelt> - 30s Timer läuft','info');
    setTimeout(function () {
    setState(idStatusKlingel, false);
    log('Klingel Haustür wieder <false> - Timer abgelaufen', 'info');
    }, 30000);
    });
    ! // Hier Variable beobachten und reagieren
    on( {
    id: idStatusKlingel,
    change: 'ne'
    }, function (obj) {
    if (obj.newState.val === true || obj.newState.val =="true" ) { // geklingelt

    log('Es hat geklingelt', 'info'); // hier Dinge eintragen, die passieren, wenns geklingelt hat
    setState ('sayit.0.tts.text', "Jemand steht an der Tür");
    setState('Klingel.Zaehler', getState('Klingel.Zaehler').val+1;
    }
    });

    ! // Variable täglich um 23Uhr zurücksetzen
    schedule("0 23 * * *", function () {
    setState('javascript.0.Klingel.Zaehler', 0); // <---- hier ist die Änderung
    log('Klingelzaehler gelöscht', 'info');
    });</false></geklingelt>

    
    Hier der Fehler im LOG :
     ![1121_2017-03-26_17-54-14.jpg](/assets/uploads/files/1121_2017-03-26_17-54-14.jpg) 
    
    Das hier was falsch läuft sehe ich aber was ist es ? TTS habe ich nicht installiert, deshalb ist es klar, aber der andere Fehler ?~~
    1 Reply Last reply
    0
    • D Offline
      D Offline
      Dice19
      wrote on last edited by
      #42

      Jemand eine Idee wie er die einzelnen Klingelvorgänge addiert??

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      Support us

      ioBroker
      Community Adapters
      Donate

      711

      Online

      32.4k

      Users

      81.4k

      Topics

      1.3m

      Posts
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      ioBroker Community 2014-2025
      logo
      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Recent
      • Tags
      • Unread 0
      • Categories
      • Unreplied
      • Popular
      • GitHub
      • Docu
      • Hilfe