Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.6k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    673

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.2k

On ID Grundlage

Geplant Angeheftet Gesperrt Verschoben JavaScript
23 Beiträge 3 Kommentatoren 343 Aufrufe 2 Beobachtet
  • Ä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.
  • L Offline
    L Offline
    Laser
    schrieb am zuletzt editiert von Laser
    #13

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

    paul53P 1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      peterfido
      schrieb am zuletzt editiert von
      #14

      Wofür soll der Intervall gut sein?

      Gruß

      Peterfido

      1 Antwort Letzte Antwort
      0
      • L Offline
        L Offline
        Laser
        schrieb am 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 am zuletzt editiert von
          #16

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

          Gruß

          Peterfido

          1 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            Laser
            schrieb am 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 am zuletzt editiert von
              #18

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

              Gruß

              Peterfido

              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 am 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: Asus PN 42 / N100 / 8 GB / 500 GB

                1 Antwort Letzte Antwort
                0
                • L Offline
                  L Offline
                  Laser
                  schrieb am 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 am 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: Asus PN 42 / N100 / 8 GB / 500 GB

                    1 Antwort Letzte Antwort
                    1
                    • L Offline
                      L Offline
                      Laser
                      schrieb am 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 am 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

                        1 Antwort Letzte Antwort
                        1

                        Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                        Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                        Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                        Registrieren Anmelden
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        379

                        Online

                        32.9k

                        Benutzer

                        83.0k

                        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