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
  5. Terrarium Steuerung probleme mit Funktion

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Terrarium Steuerung probleme mit Funktion

Geplant Angeheftet Gesperrt Verschoben Blockly
18 Beiträge 3 Kommentatoren 627 Aufrufe 1 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.
  • S Offline
    S Offline
    superzac
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich bin jetzt schon seit Tagen dabei für meine Tierchen eine Steuerung für die Beleuchtung zu bauen. Als Hardware setze ich die Hue Bridge zusammen mit den Steckdosen von Osram ein.
    Am Anfang hatte ich es ganz klassisch mit CronJob Steckdose ein und später wieder aus probiert. Es stellte sich heraus, dass die Steckdosen manchmal nicht geschaltet hatten. Darum wollte ich etwas sicher gehen und bin im Netz auf folgendes Skript gestoßen:

    screen.PNG

    Mit diesem Skript habe ich es bis jetzt seit einer Woche geschafft die Steckdose 100% zu schalten. Da dieses Skript schon etwas groß ist, wollte ich es jetzt in eine Funktion einbinden. Meine Herausforderung war, wie ich den Namen der Lampe in eine Funktion per Variable übergeben kann. Rausgekommen, ist dabei folgendes.

    screen2.PNG

    Um einen Fehler zu provozieren, habe ich den Strom der Hue getrennt. Jetzt passiert folgendes. Zu erst bekomme ich die Meldung, das alles geklappt hat und erst etwas später wird der Fehler geworfen. Aus meiner Sicht, sollte doch die Schleife nach Erfolgsmeldung verlassen werden. Ich stehe echt auf dem Schlauch und könnte etwas Anregung gebrauchen.

    LG Swen

    BBTownB 1 Antwort Letzte Antwort
    0
    • S superzac

      Hallo,

      ich bin jetzt schon seit Tagen dabei für meine Tierchen eine Steuerung für die Beleuchtung zu bauen. Als Hardware setze ich die Hue Bridge zusammen mit den Steckdosen von Osram ein.
      Am Anfang hatte ich es ganz klassisch mit CronJob Steckdose ein und später wieder aus probiert. Es stellte sich heraus, dass die Steckdosen manchmal nicht geschaltet hatten. Darum wollte ich etwas sicher gehen und bin im Netz auf folgendes Skript gestoßen:

      screen.PNG

      Mit diesem Skript habe ich es bis jetzt seit einer Woche geschafft die Steckdose 100% zu schalten. Da dieses Skript schon etwas groß ist, wollte ich es jetzt in eine Funktion einbinden. Meine Herausforderung war, wie ich den Namen der Lampe in eine Funktion per Variable übergeben kann. Rausgekommen, ist dabei folgendes.

      screen2.PNG

      Um einen Fehler zu provozieren, habe ich den Strom der Hue getrennt. Jetzt passiert folgendes. Zu erst bekomme ich die Meldung, das alles geklappt hat und erst etwas später wird der Fehler geworfen. Aus meiner Sicht, sollte doch die Schleife nach Erfolgsmeldung verlassen werden. Ich stehe echt auf dem Schlauch und könnte etwas Anregung gebrauchen.

      LG Swen

      BBTownB Offline
      BBTownB Offline
      BBTown
      schrieb am zuletzt editiert von BBTown
      #2

      @superzac
      An welcher Stelle fragst Du denn den Zustand der Steckdose - bzw. ob die Lampe erreichbar ist - ab?
      Ich kann keinen entsprechenden Trigger erkennen.

      ggf. könnte dies passen
      8e03f11e-1481-4c19-9163-a2bad8f35e5f-image.png pder so fbf7e11e-60c2-4f4b-9504-f13930f7eea4-image.png

      ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        superzac
        schrieb am zuletzt editiert von
        #3

        @BBTown

        Ich frage den Zustand in diesem Bereich ab

        screen.PNG

        Komisch finde ich auch, dass immer Instanz gestoppt kurz oben im Bildschirm erscheint.

        Ich werde Deinen Ansatz jetzt mal versuchen in die Funktion einzubauen und würde mich dann noch einmal zurückmelden.

        LG Swen

        BBTownB 1 Antwort Letzte Antwort
        0
        • S superzac

          @BBTown

          Ich frage den Zustand in diesem Bereich ab

          screen.PNG

          Komisch finde ich auch, dass immer Instanz gestoppt kurz oben im Bildschirm erscheint.

          Ich werde Deinen Ansatz jetzt mal versuchen in die Funktion einzubauen und würde mich dann noch einmal zurückmelden.

          LG Swen

          BBTownB Offline
          BBTownB Offline
          BBTown
          schrieb am zuletzt editiert von BBTown
          #4

          @superzac sagte in Terrarium Steuerung probleme mit Funktion:

          Ich frage den Zustand in diesem Bereich ab

          Nein, das ist nicht richtig!
          Hier reagierst Du auf das was als neuer Zustand gemeldet wird.
          Aber es gibt hier keinen Trigger der die Zustandsänderung selbst beobachtet/mitbekommt ... dafür benötigst Du einen Trigger der diese Änderungen an die Funktion übergibt.

          Mein Vorschlag ist/sind der/die Trigger ausserhalb der Funktion.
          Diese rufen ja die Funktionen nach Änderung erst auf.
          Entweder wenn der Zustand der Lampe oder der Zustand der Steckdose geändert wird.

          Ich weiss gar nicht ob Du beides brauchst, je nachdem was Du eigentlich beobachtest (Zustand Lampe oder Zustand Steckdose oder sowohl als auch?)

          ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            superzac
            schrieb am zuletzt editiert von
            #5

            @BBTown

            Ich möchte im grunde nur 5 mal versuchen die Steckdose zu einem Zeitpunkt X ein bzw. ausschalten.

            Damit ich eine Kontrolle darüber habe, was in den Terras passiert, möchte ich eine Prüfung hinterlegen, ob die Steckdose wirklich geschaltet hat. Wenn Sie das nicht getan hat, dann soll es noch weitere 4 mal probiert werden. Wenn es dann immer noch nicht geklappt hat, dann soll ich benachrichtigt werden, das es nicht geklappt hat oder im Erfolg, dann einen Erfolg vermelden. Weil ich extrem viele Lampen in den Terras verbaut habe, wollte ich den ganzen Schalt Kram mit samt Überprüfung in eine Funktion auslagern und diese dann mit einem Zeittrigger und den entsprechenden Parametern ausführen.

            LG Swen

            paul53P 1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              superzac
              schrieb am zuletzt editiert von
              #6

              @BBTown habe es jetzt so umgebaut:

              screen.PNG

              leider Bricht das Skript jetzt immer gleich beim ersten Fehlversuch ab. Ich hoffe, das ich vielleicht keinen Denkfehler beim Testen habe. Ich habe mir jetzt eine Hue Iris Lampe hingestellt, wo ich immer den Stecker ziehen kann, wenn die Schaltung schief gehen soll.

              LG Swen

              1 Antwort Letzte Antwort
              0
              • S superzac

                @BBTown

                Ich möchte im grunde nur 5 mal versuchen die Steckdose zu einem Zeitpunkt X ein bzw. ausschalten.

                Damit ich eine Kontrolle darüber habe, was in den Terras passiert, möchte ich eine Prüfung hinterlegen, ob die Steckdose wirklich geschaltet hat. Wenn Sie das nicht getan hat, dann soll es noch weitere 4 mal probiert werden. Wenn es dann immer noch nicht geklappt hat, dann soll ich benachrichtigt werden, das es nicht geklappt hat oder im Erfolg, dann einen Erfolg vermelden. Weil ich extrem viele Lampen in den Terras verbaut habe, wollte ich den ganzen Schalt Kram mit samt Überprüfung in eine Funktion auslagern und diese dann mit einem Zeittrigger und den entsprechenden Parametern ausführen.

                LG Swen

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @superzac sagte:

                Weil ich extrem viele Lampen in den Terras verbaut habe, wollte ich den ganzen Schalt Kram mit samt Überprüfung in eine Funktion auslagern

                Es gibt aber nur ein Intervall.

                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

                S 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @superzac sagte:

                  Weil ich extrem viele Lampen in den Terras verbaut habe, wollte ich den ganzen Schalt Kram mit samt Überprüfung in eine Funktion auslagern

                  Es gibt aber nur ein Intervall.

                  S Offline
                  S Offline
                  superzac
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 Das verstehe ich jetzt nicht. Wie meinst Du das mit es gibt nur ein Intervall?

                  LG Swen

                  BBTownB paul53P 2 Antworten Letzte Antwort
                  0
                  • S superzac

                    @paul53 Das verstehe ich jetzt nicht. Wie meinst Du das mit es gibt nur ein Intervall?

                    LG Swen

                    BBTownB Offline
                    BBTownB Offline
                    BBTown
                    schrieb am zuletzt editiert von BBTown
                    #9

                    @superzac
                    Ich würde es so probieren
                    ca343b97-7237-43ff-a604-0ba2a61259ec-image.png

                    ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                    1 Antwort Letzte Antwort
                    0
                    • S superzac

                      @paul53 Das verstehe ich jetzt nicht. Wie meinst Du das mit es gibt nur ein Intervall?

                      LG Swen

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #10

                      @superzac
                      Wenn, während das Intervall läuft, die Funktion für eine weitere Lampe aufgerufen wird, wird das Intervall gelöscht und für die weitere Lampe neu gestartet. Auch die Variable zaehler ist eine globale Variable, existiert also nur einmal.

                      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
                      • S Offline
                        S Offline
                        superzac
                        schrieb am zuletzt editiert von
                        #11

                        @paul53 danke für Deinen Tipp dieser hat mir sehr geholfen.

                        Ich hatte zum Testen das alte Skript kopiert und wieder eingefügt. Dadurch waren auch Intervalle nicht umbenannt und es kam dadurch immer zum Crash. Jetzt sieht alles wie am Anfang aus und es funzt ;-)

                        @BBTown danke auch für Dich konntest ja auch nicht wissen, was ich hier für einen Bockmist gebaut hatte.

                        LG Swen

                        BBTownB 1 Antwort Letzte Antwort
                        0
                        • S superzac

                          @paul53 danke für Deinen Tipp dieser hat mir sehr geholfen.

                          Ich hatte zum Testen das alte Skript kopiert und wieder eingefügt. Dadurch waren auch Intervalle nicht umbenannt und es kam dadurch immer zum Crash. Jetzt sieht alles wie am Anfang aus und es funzt ;-)

                          @BBTown danke auch für Dich konntest ja auch nicht wissen, was ich hier für einen Bockmist gebaut hatte.

                          LG Swen

                          BBTownB Offline
                          BBTownB Offline
                          BBTown
                          schrieb am zuletzt editiert von
                          #12

                          @superzac
                          wie sieht denn dann deine Lösung aus?

                          ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            superzac
                            schrieb am zuletzt editiert von
                            #13

                            @BBTown

                            screen.PNG

                            ich muss jetzt nur noch die Variablen für den Statustext einbinden und den Funktionsaufruf per Zeitplan steuern.

                            Was das Sahnehäubchen wäre eine Überprüfung, ob der Adapter den ich schalten will überhaupt erreichbar ist. Ich habe im Log gesehen, das Java da ein paar Errors wirft, wenn ich versuche eine Lampe anzusprechen, die nicht mit dem Strom verbunden ist. Aber das ist Fine Tuning.

                            Ich werde den Rat von @paul53 beherzigen und ein Skript pro Terrarium bauen. Dann gehe ich auch kein Risiko der Überschneidung ein, denn die Lampen gehen eh alle nicht zur selben Zeit an.

                            LG Swen

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • S superzac

                              @BBTown

                              screen.PNG

                              ich muss jetzt nur noch die Variablen für den Statustext einbinden und den Funktionsaufruf per Zeitplan steuern.

                              Was das Sahnehäubchen wäre eine Überprüfung, ob der Adapter den ich schalten will überhaupt erreichbar ist. Ich habe im Log gesehen, das Java da ein paar Errors wirft, wenn ich versuche eine Lampe anzusprechen, die nicht mit dem Strom verbunden ist. Aber das ist Fine Tuning.

                              Ich werde den Rat von @paul53 beherzigen und ein Skript pro Terrarium bauen. Dann gehe ich auch kein Risiko der Überschneidung ein, denn die Lampen gehen eh alle nicht zur selben Zeit an.

                              LG Swen

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #14

                              @superzac
                              Ein Vergleich von Ist- und Sollwert des Datenpunktes genügt nicht. Es muss auch Ack auf wahr geprüft werden, d.h. ob der Wert bestätigt wurde.

                              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
                              • S Offline
                                S Offline
                                superzac
                                schrieb am zuletzt editiert von
                                #15

                                @paul53

                                Es muss auch Ack auf wahr geprüft werden, d.h. ob der Wert bestätigt wurde.

                                Was meinst Du mit Ack?

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • S superzac

                                  @paul53

                                  Es muss auch Ack auf wahr geprüft werden, d.h. ob der Wert bestätigt wurde.

                                  Was meinst Du mit Ack?

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #16

                                  @superzac sagte:

                                  Was meinst Du mit Ack?

                                  In Blockly heisst es "anerkannt".

                                  Blockly_temp.JPG

                                  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
                                  • S Offline
                                    S Offline
                                    superzac
                                    schrieb am zuletzt editiert von
                                    #17

                                    @paul53 Danke für den Tipp hier muss ich mich dann nochmal etwas tiefer einlesen, um zu verstehen was man damit prüft.

                                    Aber das finde ich schon im Netz ;-) Danke für die schnelle Hilfe

                                    LG Swen

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • S superzac

                                      @paul53 Danke für den Tipp hier muss ich mich dann nochmal etwas tiefer einlesen, um zu verstehen was man damit prüft.

                                      Aber das finde ich schon im Netz ;-) Danke für die schnelle Hilfe

                                      LG Swen

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von paul53
                                      #18

                                      @superzac sagte:

                                      was man damit prüft.

                                      Ich würde auf {ack: true} (annerkannt ist Update) triggern und wenn Sollzustand = Istzustand sofort das Intervall stoppen. Etwa so:

                                      Blockly_temp.JPG

                                      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
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      626

                                      Online

                                      32.7k

                                      Benutzer

                                      82.4k

                                      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