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. Meine ersten schritte mit JavaScript

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    509

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

Meine ersten schritte mit JavaScript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
22 Beiträge 5 Kommentatoren 3.6k 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.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #12

    @RedOne:

    und wenn ich auf zeit triggern möchte statt auf zustand wechsel mach ich die geschweiften klammern rein? `
    Welche geschweifeten Klammern meinst Du ? Wenn eine anonyme Funktion deklariert wird, muss der Code der Funktion immer in geschweifte Klammern. Bei Triggern auf Zeit (schedule) wird allerdings kein Datenpunkt-Objekt übergeben, d.h. es ist auch kein Name zu übergeben:

    // Triggern jede Minute
    schedule('* * * * *', function() {
       hier kommt der Code der Funktion rein
    });
    

    @RedOne:

    und wie funktioniert das wenn ich 2 und mehr States überwachen möchte `
    Beispiel: Mittelwert aus 3 Datenpunkten:

    const idMittel = '...';  // ID des Datenpunktes für Mittelwert
    var a, b, c;
    
    function mittel() {
       setState(idMittel, (a + b + c) / 3):
    }
    
    on('ID Datenpunkt a', function(dp) {
       a = dp.state.val;
       mittel();
    });
    on('ID Datenpunkt b', function(dp) {
       b = dp.state.val;
       mittel();
    });
    on('ID Datenpunkt c', function(dp) {
       c = dp.state.val;
       mittel();
    });
    

    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
    • R Offline
      R Offline
      RedOne
      schrieb am zuletzt editiert von
      #13
      on ({idVorheizen}, function (dp){
      
      });
      
      

      jetzt schaut er wohl laut log im Sekundentakt ob sich ein Wert geändert hat anhand vom Zeitstempel.

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

        @RedOne:

        jetzt schaut er wohl laut log im Sekundentakt ob sich ein Wert geändert `
        :?: Dieses Konstrukt (ID in Klammern) habe ich noch nicht probiert. Die Klammern sind jedenfalls falsch. Richtig:

        on (idVorheizen, function (dp){
        
        });
        
        

        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
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #15

          @paul53:

          Dieses Konstrukt (ID in Klammern) habe ich noch nicht probiert `
          Das macht auch keinen Sinn.

          {idVorheizen}
          

          ist in ES6 eine Abkürzung für

          {idVorheizen: idVorheizen}
          

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            starfish
            schrieb am zuletzt editiert von
            #16

            @paul53:

            Die https://github.com/ioBroker/ioBroker.javascript/blob/master/README.md kennst Du ? Und auch die http://www.iobroker.net/docu/?page_id=5385&lang=de ? `
            Diese Einführung ist in der Tat sehr gut und empfehlenswert. Was ich aber nicht finde, sind genauere Erläuterungen zu Arrays. Habe ich etwas übersehen - oder ist die Einführung einfach noch nicht fertig? (….Was das ist, schauen wir uns im Abschnitt über Arrays im Detail an ...)

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #17

              @starfish:

              Diese Einführung ist in der Tat sehr gut und empfehlenswert. Aber leider fehlerhaft, die Tabelle zu den logischen Operatoren betreffend: > Eingabe Ergebnis

              A B A && B A || B !A

              false false true false true

              false true false true false

              true false false true false

              true true true true false `
              Richtig:

              Eingabe      Ergebnis
              A     B      A && B A || B !A
              false false  false  false  true
              false true   false  true   true
              true  false  false  true   false
              true  true   true   true   false
              

              Bitte korrigieren !

              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
              • HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #18

                @paul53:

                Bitte korrigieren ! `

                Jawoll ;-)

                erledigt.

                Bitte kontrollieren!

                Rainer

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #19

                  @Homoran:

                  Bitte kontrollieren! `
                  Passt :D Super schnelle Reaktion 8-)

                  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
                  • R Offline
                    R Offline
                    RedOne
                    schrieb am zuletzt editiert von
                    #20

                    so weit bin ich noch nicht.

                    um mit Arrays zu arbeiten.

                    ich hab mein Script ja jetzt am Laufen mit dem BadVorheizen und mir fiel da was auf.

                    
                    var BadVorheizenSchalter = "javascript.0.VirSchalterBadVorheizen";      //Virtueller Schalter muss erstellt sein
                    var BadVorheizenSchalterZustand = getState(BadVorheizenSchalter).val;   // Status aus Virtuellem schaltter lesen
                    
                    // Funktion wo sie heizung aktivirt wenn BadVorheizenschalter True gesetzt wird
                    function BadVorheizenAktivieren(){
                        switch(BadVorheizenSchalterZustand)
                        {
                            case true: setState("hm-rpc.0.BidCoS-RF.1.PRESS_SHORT");
                                        setStateDelayed(BadVorheizenSchalter, false, 2000);
                            break;
                    
                        }
                    }
                    
                    // Überwachung des schalters und bei True wird geschaltet
                    on(BadVorheizenSchalter, function(dp)
                    {
                        BadVorheizenSchalterZustand = dp.state.val;
                        BadVorheizenAktivieren();
                    
                    });
                    
                    

                    Da ich das mit dem schedule noch nicht hinbekomme bzw. noch nicht mit befasst habe.

                    habe ich das ganze über ein programm in der ccu gemacht das dann die Heizung nach 20min wieder ausgeht.

                    funktioniert auch alles wenn ich sage Alexa Bad Vorheizen springt die Heizung an und geht nach 20 min wieder aus aber nur 2 Tage lang wenn ich es dann mache sagt Alexa okay aber es passiert nichts mehr.

                    Wenn ich den schalter BadVorheizen händisch auf True setze passiert auch nichts mehr.

                    Der schalter wieder rum in der CCU funktioniert aber noch.

                    wenn ich dann aber hingehe und das Script stoppe und wieder starte funktioniert es wieder und dann plötzlich nicht mehr nach ca 2 Tagen.

                    Habt ihr eine Lösung? oder eine Idee?

                    hab es jetzt erst mal mit Blockly nach gestellt.

                    und jetzt läuft es seit gestern mal schauen ob es wieder aussteigt.

                    Gesendet von meinem SM-G935F mit Tapatalk

                    1 Antwort Letzte Antwort
                    0
                    • AlCalzoneA Offline
                      AlCalzoneA Offline
                      AlCalzone
                      Developer
                      schrieb am zuletzt editiert von
                      #21

                      Nicht sicher, ob das was damit zu tun hat, aber sollte

                      setState("hm-rpc.0.BidCoS-RF.1.PRESS_SHORT");
                      

                      nicht

                      setState("hm-rpc.0.BidCoS-RF.1.PRESS_SHORT", true);
                      

                      heißen?

                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                      1 Antwort Letzte Antwort
                      0
                      • R Offline
                        R Offline
                        RedOne
                        schrieb am zuletzt editiert von
                        #22

                        ähm ja bei meinen schaltern muss es so heisen

                        bei der ccu weis ich gerade nicht.

                        werd ich gleich mal reinschrieben

                        Gesendet von meinem SM-G935F mit Tapatalk

                        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

                        691

                        Online

                        32.5k

                        Benutzer

                        81.8k

                        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