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. JavaScript
  5. On ID Grundlage

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

On ID Grundlage

Geplant Angeheftet Gesperrt Verschoben JavaScript
23 Beiträge 3 Kommentatoren 70 Aufrufe 2 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.
  • P Offline
    P Offline
    peterfido
    schrieb zuletzt editiert von
    #14

    Wofür soll der Intervall gut sein?

    Gruß

    Peterfido


    Proxmox auf Intel NUC12WSHi5
    ioBroker: Debian (VM)
    CCU: Debmatic (VM)
    Influx: Debian (VM)
    Grafana: Debian (VM)
    eBus: Debian (VM)
    Zigbee: Debian (VM) mit zigbee2mqtt

    1 Antwort Letzte Antwort
    0
    • L Online
      L Online
      Laser
      schrieb zuletzt editiert von Laser
      #15

      Damit arbeite ich verschiedene Dinge zyklisch ab. Rufe Funktionen zyklisch auf. In meiner Steuerung für die Heizung. Dient gleichzeitig zur Erzeugung von Minutenimpulsen und Zählern.
      In dem gezeigten Testscript macht das natürlich keinen Sinn.

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        peterfido
        schrieb zuletzt editiert von
        #16

        Wenn Du alle 2 Sekunden einen Wert abfragst, kann Dir ein Flankenwechsel durchrutschen.

        Gruß

        Peterfido


        Proxmox auf Intel NUC12WSHi5
        ioBroker: Debian (VM)
        CCU: Debmatic (VM)
        Influx: Debian (VM)
        Grafana: Debian (VM)
        eBus: Debian (VM)
        Zigbee: Debian (VM) mit zigbee2mqtt

        1 Antwort Letzte Antwort
        0
        • L Online
          L Online
          Laser
          schrieb zuletzt editiert von Laser
          #17

          OK. Es gab schon Fehlfunktionen. Da ist das extraScript sicher die bessere Lösung.

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            peterfido
            schrieb zuletzt editiert von
            #18

            Alles in ein Skript ist kein Problem. Es sei denn, Du meinst statt Skript Funktion.

            Gruß

            Peterfido


            Proxmox auf Intel NUC12WSHi5
            ioBroker: Debian (VM)
            CCU: Debmatic (VM)
            Influx: Debian (VM)
            Grafana: Debian (VM)
            eBus: Debian (VM)
            Zigbee: Debian (VM) mit zigbee2mqtt

            1 Antwort Letzte Antwort
            0
            • L Laser

              Es funktionieren beide Varianten. Nur eben nicht in meinem Hauptscript mit "interval".
              Im extra Script kein Problem.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb zuletzt editiert von paul53
              #19

              @Laser sagte: mit "interval".

              Wenn nicht per Trigger, sondern per Polling auf die Flanke reagiert werden soll, benötigt man eine Hilfsvariable:

              const id = '0_userdata.0.Logik.TestZustand';
              var lastVal = getState(id).val;
              
              function abfrage() {
                  const val = getState(id).val;
                  if(!val && lastVal) {
                      // Aktion bei Flanke true --> false
                  } 
                  lastVal = val;
              }
              
              setInterval(abfrage,2000);
              

              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
              • L Online
                L Online
                Laser
                schrieb zuletzt editiert von
                #20

                Ja, das Ganze kann man natürlich auch so machen. Ohne die tolle "on id" mit "change" ging es ja früher auch.

                paul53P 1 Antwort Letzte Antwort
                0
                • L Laser

                  Ja, das Ganze kann man natürlich auch so machen. Ohne die tolle "on id" mit "change" ging es ja früher auch.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb zuletzt editiert von
                  #21

                  @Laser sagte: Ohne die tolle "on id" mit "change" ging es ja früher auch.

                  In ioBroker gab es immer on(). Es stammt noch von @hobbyquaker .

                  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
                  1
                  • L Online
                    L Online
                    Laser
                    schrieb zuletzt editiert von
                    #22

                    Ja, ich meine die Zeit vor 40 Jahren ohne Raspbbery und IOBroker...

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      peterfido
                      schrieb zuletzt editiert von peterfido
                      #23

                      @paul53
                      dafür ist das ack da.

                      const DP ="0_userdata.0.Logik.TestZustand";
                      createState(DP, 0, false, {                                  // Datenpunkt wird angelegt
                          name: 'TestZustand',
                          desc: 'Logik.TestZustand', 
                          type: 'boolean',
                          def:  'false',    
                          role: 'value'
                      });
                      
                      
                      /*So macht man es, wenn die Flanke wechselt (true - false - true*/
                      on({id:DP,val:false,change: 'ne'}, function(dp){
                          console.log("fallende Flanke");
                      });
                      
                      /*So macht man es, wenn die Flanke NICHT wechselt (false - false - false)*/
                      on({id:DP,val:false,change: 'any'}, function(dp){
                          if(!dp.state.ack){
                              console.log("fallende Flanke");
                              setState(DP, false , true);   //ack setzen. 
                          }
                      });
                      
                      

                      Gruß

                      Peterfido


                      Proxmox auf Intel NUC12WSHi5
                      ioBroker: Debian (VM)
                      CCU: Debmatic (VM)
                      Influx: Debian (VM)
                      Grafana: Debian (VM)
                      eBus: Debian (VM)
                      Zigbee: Debian (VM) mit zigbee2mqtt

                      1 Antwort Letzte Antwort
                      1
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      656

                      Online

                      32.6k

                      Benutzer

                      82.1k

                      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