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. [Blockly] Lampe einschalten, wenn PC zwischen Sonnenuntergang und Sonnenaufgang eingeschaltet ist

NEWS

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

[Blockly] Lampe einschalten, wenn PC zwischen Sonnenuntergang und Sonnenaufgang eingeschaltet ist

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
73 Beiträge 9 Kommentatoren 5.9k 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.
  • rantanplanR Offline
    rantanplanR Offline
    rantanplan
    schrieb am zuletzt editiert von
    #28

    @Modjo:

    Ich habe es nun wie folgt angepasst und werde es testen. `
    Ha, da kann ich ja mal wieder einer meiner Standardfloskeln loswerden :D

    Dein Trigger reagiert auf "aktualisieren".

    Adapter "aktualisieren" ihren Status häufiger. Auch wenn sich nichts geändert hat.

    Man sollte sich angewöhnen nur etwas zu schalten wenn es auch etwas zu schalten gibt.

    Stichwort: DutyCycle
    147_beispiel.png

    Grüße

    Rantanplan

    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Modjo
      schrieb am zuletzt editiert von
      #29

      @rantanplan:

      @Modjo:

      Ich habe es nun wie folgt angepasst und werde es testen. `
      Ha, da kann ich ja mal wieder einer meiner Standardfloskeln loswerden :D

      Dein Trigger reagiert auf "aktualisieren".

      Adapter "aktualisieren" ihren Status häufiger. Auch wenn sich nichts geändert hat.

      Man sollte sich angewöhnen nur etwas zu schalten wenn es auch etwas zu schalten gibt.

      Stichwort: DutyCycle

      Beispiel.png

      Grüße `

      Hi,

      das hatte ich ja auch, aber jetzt stell dir das Szenario vor, ich habe den PC Tagsüber an, bis in die Nacht hinein. Der Zustand ändert sich ja nicht, was zur Folge hätte, dass dann die Lampe nicht angeht, sobald es Abend wird. Deshalb habe ich es auf aktualisieren gemacht. Oder sehe ich das falsch?

      VG

      1 Antwort Letzte Antwort
      0
      • R Offline
        R Offline
        RappiRN
        Most Active
        schrieb am zuletzt editiert von
        #30

        Für diesen Fall nehme ich noch einen anderen Trigger, in deinem Fall dann die Tageszeitänderung. Und wenn der PC an dann Lampe an.

        Enrico

        1 Antwort Letzte Antwort
        0
        • rantanplanR Offline
          rantanplanR Offline
          rantanplan
          schrieb am zuletzt editiert von
          #31

          @Modjo:

          das hatte ich ja auch, aber jetzt stell dir das Szenario vor, ich habe den PC Tagsüber an, bis in die Nacht hinein. Der Zustand ändert sich ja nicht, was zur Folge hätte, dass dann die Lampe nicht angeht, sobald es Abend wird. Deshalb habe ich es auf aktualisieren gemacht. Oder sehe ich das falsch? `
          Es geht bei meinem Hinweis nicht um das "aktualisieren".

          Sondern darum das man, grundsätzlich, nur schalten sollte wenn etwas geschaltet werden muss.

          Wenn eine Lampe schon eingeschaltet ist, muss sie nicht nochmal eingeschaltet werden.

          Wenn die Solltemperatur einer Heizung schon bei 21 Grad eingestellt ist muss die nicht laufend auf 21 Grad eingestellt werden.

          Usw. usw.

          Die Befehle werden zum Aktor gesendet. Ob notwendig oder nicht.

          Da kann der DutyCycle schon mal permanent hoch sein.

          Und schlimmstenfalls seinen Dienst mal für eine Stunde einstellten :shock:

          Grüße

          Rantanplan

          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

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

            @Modjo:

            ich habe den PC Tagsüber an, bis in die Nacht hinein. Der Zustand ändert sich ja nicht, was zur Folge hätte, dass dann die Lampe nicht angeht, sobald es Abend wird. `
            Dafür braucht es noch zwei Astro-Trigger. Etwa so:

            493_ping_nachts.jpg
            Hier der Export, in dem noch die Datenpunkt-IDs eingesetzt werden müssen:

            ! ````
            <block xmlns="http://www.w3.org/1999/xhtml" type="variables_set" id="B0M,XF@Ebi0#EwzvOJvp" x="-587.6981554662608" y="-511.1388272105397"><field name="VAR">nacht</field>
            <value name="VALUE"><block type="time_compare_ex" id="Qtlm^0L^oN[UoH-PauPc"><mutation end_time="true" actual_time="true"></mutation>
            <field name="USE_ACTUAL_TIME">TRUE</field>
            <field name="OPTION">not between</field>
            <value name="START_TIME"><shadow type="text" id="tPo^_S^9UYh]^1,T!b,5"><field name="TEXT">12:00</field></shadow>
            <block type="time_astro" id="[;]mY5K0=5l)x,wfRbaq"><field name="TYPE">sunriseEnd</field>
            <field name="OFFSET">0</field></block></value>
            <value name="END_TIME"><shadow type="text" id="Id:|HQ}w.^KeqbRnK(`!"><field name="TEXT">18:00</field></shadow>
            <block type="time_astro" id="W3/Q[pO9Xbbd_2w(*d[!"><field name="TYPE">sunset</field>
            <field name="OFFSET">0</field></block></value></block></value></block>

            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
            • rantanplanR Offline
              rantanplanR Offline
              rantanplan
              schrieb am zuletzt editiert von
              #33

              @paul53:

              Dafür braucht es noch zwei Astro-Trigger. Etwa so: `
              Ja, das würde Tag und Nacht abdecken.

              Wobei "ledkugel" auch mal "unwahr" werden müsste ;)

              Grüße

              Rantanplan

              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

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

                @rantanplan:

                Wobei "ledkugel" auch mal "unwahr" werden müsste ;) `
                Das sind zwei Datenpunkte "Büro Kugel ein" und "Büro Kugel aus". "ledkugel()" ist eine Funktion, die diese beiden Datenpunkte setzt.

                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
                • rantanplanR Offline
                  rantanplanR Offline
                  rantanplan
                  schrieb am zuletzt editiert von
                  #35

                  @paul53:

                  Das sind zwei Datenpunkte "Büro Kugel aus" und "Büro Kugel aus". "ledkugel()" ist eine Funktion, die diese beiden Datenpunkte setzt. `
                  Jepp, habe ich nicht aufgepasst :oops:

                  Rantanplan

                  CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Modjo
                    schrieb am zuletzt editiert von
                    #36

                    @paul53:

                    @Modjo:

                    ich habe den PC Tagsüber an, bis in die Nacht hinein. Der Zustand ändert sich ja nicht, was zur Folge hätte, dass dann die Lampe nicht angeht, sobald es Abend wird. `
                    Dafür braucht es noch zwei Astro-Trigger. Etwa so:

                    Ping_nachts.JPG

                    Hier der Export, in dem noch die Datenpunkt-IDs eingesetzt werden müssen:

                    ! <block xmlns="http://www.w3.org/1999/xhtml" type="variables_set" id="B0M,XF@Ebi0#EwzvOJvp" x="-587.6981554662608" y="-511.1388272105397"><field name="VAR">nacht</field> <value name="VALUE"><block type="time_compare_ex" id="Qtlm^0L^oN[UoH-PauPc"><mutation end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">not between</field> <value name="START_TIME"><shadow type="text" id="tPo^_S^9UYh]^1,T!b,5"><field name="TEXT">12:00</field></shadow> <block type="time_astro" id="[;]mY5K0=5l)x,wfRbaq"><field name="TYPE">sunriseEnd</field> <field name="OFFSET">0</field></block></value> <value name="END_TIME"><shadow type="text" id="Id:|HQ}w.^KeqbRnK(`!"><field name="TEXT">18:00</field></shadow> <block type="time_astro" id="W3/Q[pO9Xbbd_2w(*d[!"><field name="TYPE">sunset</field> <field name="OFFSET">0</field></block></value></block></value></block> `

                    Also ist das so richtig (Anhang)?

                    Mit dem gelb markierten "Value" kann ich noch nicht so viel anfangen. Ist das eine eigene Variable, die so benannt ist (so hab ich es jetzt gemacht), wie PC oder Büro Kugel?
                    4811_unbenannt.jpg

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

                      @Modjo:

                      Mit dem gelb markierten "Value" kann ich noch nicht so viel anfangen. Ist das eine eigene Variable, die so benannt ist (so hab ich es jetzt gemacht), wie PC oder Büro Kugel? `
                      value (klein geschrieben !!) ist eine vordefinierte lokale Skriptvariable, die den Wert des auslösenden Datenpunktes enthält. Nacht und PC sind globale Skriptvariablen.

                      Ich hatte die Skriptvariable pc extra klein geschrieben, damit sie sich vom Namen "PC" des auslösenden Datenpunktes unterscheidet, was auf die Funktion aber keine Auswirkung hat.

                      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
                      • rantanplanR Offline
                        rantanplanR Offline
                        rantanplan
                        schrieb am zuletzt editiert von
                        #38

                        @Modjo:

                        Mit dem gelb markierten "Value" kann ich noch nicht so viel anfangen. Ist das eine eigene Variable, die so benannt ist (so hab ich es jetzt gemacht), wie PC oder Büro Kugel? `

                        Paul53 benutzt die englische Variante.
                        147_beispiel.png
                        147_beispiel_2.png

                        Dieser Baustein ist nur innerhalb eines Triggers gültig und enthält verschiedene Information vom ausgelösten Trigger-Wert.

                        Grüße

                        Rantanplan

                        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                        1 Antwort Letzte Antwort
                        0
                        • rantanplanR Offline
                          rantanplanR Offline
                          rantanplan
                          schrieb am zuletzt editiert von
                          #39

                          @paul53:

                          value (klein geschrieben !!) ist eine vordefinierte lokale Skriptvariable, die den Wert des auslösenden Datenpunktes enthält. `

                          Ich benutze lieber den Baustein.

                          Ist leichter zu vermitteln und der Gültigkeitsbereich von "value" ist, für mich leider, nicht nur auf die Trigger-Funktion begrenzt.

                          Grüße

                          Rantanplan

                          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

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

                            @rantanplan:

                            Paul53 benutzt die englische Variante. `
                            Nein, ich benutze die Bezeichnung der schon vordefinierten lokalen Skriptvariablen.

                            on({id: "Object ID", change: "ne"}, function (obj) {
                              var value = obj.state.val;       // lokale Variable, die zu jedem Datenpunkt-Trigger automatisch erzeugt wird
                              var oldValue = obj.oldState.val; // lokale Variable, die zu jedem Datenpunkt-Trigger automatisch erzeugt wird
                              pc = value;
                              ledkugel();
                            });
                            
                            

                            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
                            • paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #41

                              @rantanplan:

                              Ich benutze lieber den Baustein.

                              Ist leichter zu vermitteln `
                              Da gebe ich Dir recht.
                              @rantanplan:

                              der Gültigkeitsbereich von "value" ist, für mich leider, nicht nur auf die Trigger-Funktion begrenzt. `
                              Doch, ist er. value wird innerhalb der Funktion mit var deklariert (var value = …) und ist deshalb nur auf die Funktion begrenzt, unabhängig davon, welche Skriptvariablen noch value genannt werden.

                              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
                              • rantanplanR Offline
                                rantanplanR Offline
                                rantanplan
                                schrieb am zuletzt editiert von
                                #42

                                @paul53:

                                Doch, ist er. value wird innerhalb der Funktion deklariert (var value = …) und ist deshalb nur auf die Funktion begrenzt, unabhängig davon, welche Skriptvariablen noch value genannt werden. `
                                Das muss aber relativ neu sein. Hatte das irgendwann mal getestet und dann nicht weiter verfolgt.

                                Aber wir schweifen vom Thema ab. ;)

                                Rantanplan

                                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

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

                                  @rantanplan:

                                  Das muss aber relativ neu sein. `
                                  Ich kenne es https://wiki.selfhtml.org/wiki/JavaScript/Variable.

                                  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
                                  • rantanplanR Offline
                                    rantanplanR Offline
                                    rantanplan
                                    schrieb am zuletzt editiert von
                                    #44

                                    @paul53:

                                    @rantanplan:

                                    Das muss aber relativ neu sein. Ich kenne es [https://wiki.selfhtml.org/wiki/JavaScript/Variable](https://wiki.selfhtml.org/wiki/JavaScript/Variable).

                                    Ich meinte nicht die Deklaration in JavaScript.

                                    Im Blockly-Trigger war die mal nicht so angelegt.

                                    Rantanplan

                                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

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

                                      @Modjo:

                                      Also ist das so richtig (Anhang)? `
                                      Neben value (klein geschrieben): Du hast den Namen der Funktion Büro Kugel genannt. Leerzeichen sind in Namen für Skriptvariablen und -funktionen nicht zulässig und Umlaute würde ich vermeiden. Ändere deshalb den Namen in Buero_Kugel.

                                      EDIT: Variablennamen dürfen nur Buchstaben, Ziffern und Unterstriche enthalten und dürfen nicht mit einer Ziffer beginnen.

                                      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
                                      • M Offline
                                        M Offline
                                        Modjo
                                        schrieb am zuletzt editiert von
                                        #46

                                        Hallo Leute,

                                        erstmal vielen Dank für eure tolle Hilfe, das ist wirklich klasse!

                                        Ich habe es nun auch ohne Umlaute und die Variablen klein geschrieben (siehe Anhang).

                                        Nun ist es folgendermaßen.

                                        1. Ist die Zeit erfüllt und der PC wird eingeschaltet, bleibt die Lampe aus = nicht ok.

                                        2. ist die Lampe an und ich schalte den PC aus (also kein pc-ping), bleibt die Lampe aber an = nicht ok.

                                        var nacht, pc_ping;
                                        
                                        /**
                                         * Beschreibe diese Funktion …
                                         */
                                        function buero_kugel() {
                                          if (pc_ping && nacht) {
                                            setState("broadlink.0.learnedSignals.CODE_b21d34000c23230c230c230c0c23230c0d22230c0c23230c0c23230c230c230c0c230c230c230c220c230d22230c230c0c230c230c00016200000000"/*Büro Kugel ein*/, true);
                                          } else {
                                            setState("broadlink.0.learnedSignals.CODE_b22134000c23230c230c230c0c23230c0c23230c0c22230c0c22230c230c230c0c230c230c230c230c220c220c230c22230c230c0c00016100000000"/*Büro Kugel aus*/, true);
                                          }
                                        }
                                        
                                        // Scriptstart
                                        nacht = compareTime(getAstroDate("sunriseEnd", undefined, 0), getAstroDate("sunsetStart", undefined, 0), "between", null);
                                        pc_ping = getState("ping.0.ioBroker.192_168_0_2").val;
                                        buero_kugel();
                                        
                                        on({id: "ping.0.ioBroker.192_168_0_2"/*PC*/, change: "ne"}, function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          pc_ping = (obj.state ? obj.state.val : "");
                                        });
                                        buero_kugel();
                                        schedule({astro: "sunriseEnd", shift: 0}, function () {
                                          nacht = false;
                                        });
                                        buero_kugel();
                                        schedule({astro: "sunsetStart", shift: 0}, function () {
                                          nacht = true;
                                        });
                                        buero_kugel();
                                        

                                        Wo könnte noch der Fehler liegen?

                                        Vielen Dank!

                                        Gruß

                                        Modjo
                                        4811_unbenannt.jpg

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          mikiline
                                          schrieb am zuletzt editiert von
                                          #47

                                          Trigger doch nur die Astrozeit und deinen PC in einem Script mit diesen 2 Bedingungen. Wenn sich eines der beiden ändert dann…...

                                          Bei Änderung Astrozeit oder Änderung PC dann Deine Schaltbedingungen einfügen.
                                          2678_test.png

                                          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

                                          365

                                          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