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. (gelöst) mein erstes Blockly... korrekt?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

(gelöst) mein erstes Blockly... korrekt?

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
59 Beiträge 6 Kommentatoren 2.7k Aufrufe 4 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.
  • HumidorH Offline
    HumidorH Offline
    Humidor
    schrieb am zuletzt editiert von Humidor
    #1

    Hallo Gemeinde!

    Möchte euch Korrektur fragen für meinen ersten Bock.
    Ein Feuchtigkeitssensor per zigbee wird eingelesen, dieser soll unter 65% ein Telegram und über 75% abschicken.
    Passt der Block dazu?

    on({id: 'zigbee.0.00158d00042704c0.humidity', change: "ne"}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      if (getState("zigbee.0.00158d00042704c0.humidity").val < 65) {
        sendTo("telegram.0", "send", {
            text: 'Feuchtigkeit im Humidor zu gering !'
        });
        console.log("telegram: " + 'Feuchtigkeit im Humidor zu gering !');
      } else if (getState("zigbee.0.00158d00042704c0.humidity").val > 75) {
        sendTo("telegram.0", "send", {
            text: 'Feuchtigkeit im Humidor zu hoch !'
        });
        console.log("telegram: " + 'Feuchtigkeit im Humidor zu hoch !');
      }
    });
    
    parseFloat();
    

    Bild Text

    BG

    paul53P 1 Antwort Letzte Antwort
    0
    • OstfrieseUnterwegsO Offline
      OstfrieseUnterwegsO Offline
      OstfrieseUnterwegs
      schrieb am zuletzt editiert von
      #2

      Kommt darauf an... Du schickst immer ein Telegram wenn sich der Wert außerhalb der Grenzen ändert.
      Also fällt auf 64.9% -> telegram
      fällt auf 64.3 -> telegram
      steigt auf 64.7 -> telegram...
      Bei Luftfeuchte ists wahrscheinlich nicht besonders dynamisch, weil eher ein träges System.

      Jede Änderung wird also ein Telegram auslösen, außer sie finden im Bereich zwischen 65 und 75 statt. Kann man wollen, kann aber auch nervig sein...
      Du könntest vlt ein Flag einbauen, dass sich merkt, ob du schon benachrichtigt hast und dann in der Folge kein Telegram mehr senden. Flag wieder auf true setzen, wenn deine Humidity um soll-Bereich angekommen ist. Oder Flag nach einer Stunde zurücksetzen. Dann meldet Telegram was, lässt dich aber eine Stunde lang in Ruhe.
      Kommt also darauf an, was du erreichen möchtest.

      1 Antwort Letzte Antwort
      1
      • HumidorH Offline
        HumidorH Offline
        Humidor
        schrieb am zuletzt editiert von
        #3

        Hi,
        d.h. das Blockly fkt. so wie es mal ist, korrekt projektiert.

        Dein Einwand ist sehr gut, ist auch meine nächste Änderung die ich vor hatte.
        Da weiß ich aber noch nicht recht wie ich das angehen soll.
        Variable erstellen "bBlock" für Bool (0/1)
        dann eine Abfrage ob bBlock true/false ist und bei true nach einer Zeit resetten.
        Bild Text

        BG

        dslraserD 1 Antwort Letzte Antwort
        0
        • HumidorH Offline
          HumidorH Offline
          Humidor
          schrieb am zuletzt editiert von Humidor
          #4

          Ha, hab grad die erste Benachrichtigung erhalten :blush:
          Bild Text
          noch falsch geschrieben, aber es funktioniert.

          wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?

          BG

          1 Antwort Letzte Antwort
          0
          • OstfrieseUnterwegsO Offline
            OstfrieseUnterwegsO Offline
            OstfrieseUnterwegs
            schrieb am zuletzt editiert von
            #5

            @Humidor sagte in mein erstes Blockly... korrekt?:

            wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?

            Einen richtigen Debugger, wie aus programmierumgebungen gibt es nicht wirklich. Ich kenne nur die Möglichkeit, einen Debug Output Block einzufügen.

            HumidorH 1 Antwort Letzte Antwort
            0
            • OstfrieseUnterwegsO OstfrieseUnterwegs

              @Humidor sagte in mein erstes Blockly... korrekt?:

              wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?

              Einen richtigen Debugger, wie aus programmierumgebungen gibt es nicht wirklich. Ich kenne nur die Möglichkeit, einen Debug Output Block einzufügen.

              HumidorH Offline
              HumidorH Offline
              Humidor
              schrieb am zuletzt editiert von
              #6

              @OstfrieseUnterwegs sagte in mein erstes Blockly... korrekt?:

              @Humidor sagte in mein erstes Blockly... korrekt?:

              wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?

              Einen richtigen Debugger, wie aus programmierumgebungen gibt es nicht wirklich. Ich kenne nur die Möglichkeit, einen Debug Output Block einzufügen.

              schade, das ist das A&O ...

              BG

              HomoranH 1 Antwort Letzte Antwort
              0
              • OstfrieseUnterwegsO Offline
                OstfrieseUnterwegsO Offline
                OstfrieseUnterwegs
                schrieb am zuletzt editiert von
                #7

                Gerade gesehen, du stoppst deinen Timer nicht... Wenn jetzt das script triggert, dann macht er jedesmal einen neuen Timer und die setzen dann jeder für sich jeweils nach 30 min deine Variable zurück.
                Du solltest Block 'Ausführen in' nehmen. Der führt einmal nach einer bestimmten Zeit aus und dann ist er weg.

                1 Antwort Letzte Antwort
                0
                • HumidorH Humidor

                  @OstfrieseUnterwegs sagte in mein erstes Blockly... korrekt?:

                  @Humidor sagte in mein erstes Blockly... korrekt?:

                  wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?

                  Einen richtigen Debugger, wie aus programmierumgebungen gibt es nicht wirklich. Ich kenne nur die Möglichkeit, einen Debug Output Block einzufügen.

                  schade, das ist das A&O ...

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #8

                  @Humidor sagte in mein erstes Blockly... korrekt?:

                  schade, das ist das A&O ...

                  Ähm, aber wo ist das Problem?

                  @Humidor sagte in mein erstes Blockly... korrekt?:

                  wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?

                  Natürlich geht das mit dem Debug-Baustein.
                  Und wenn du fertig bist kannst du ihn löschen oder für späteren Gebrauch einfach deaktivieren

                  kein Support per PN! - Fragen im Forum stellen -

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

                  ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

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

                  1 Antwort Letzte Antwort
                  0
                  • HumidorH Humidor

                    Hi,
                    d.h. das Blockly fkt. so wie es mal ist, korrekt projektiert.

                    Dein Einwand ist sehr gut, ist auch meine nächste Änderung die ich vor hatte.
                    Da weiß ich aber noch nicht recht wie ich das angehen soll.
                    Variable erstellen "bBlock" für Bool (0/1)
                    dann eine Abfrage ob bBlock true/false ist und bei true nach einer Zeit resetten.
                    Bild Text

                    dslraserD Offline
                    dslraserD Offline
                    dslraser
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @Humidor
                    hm...ich habe es jetzt so noch nicht probiert, aber es sieht auf den ersten Blick so aus, das hier im Laufe der Zeit jede Menge Intervalle laufen werden, da das Intervall nirgends gestoppt wird.
                    Ich glaube Du brauchst ein timeout, aber auch das sollte gestoppt werden.

                    1 Antwort Letzte Antwort
                    0
                    • HumidorH Offline
                      HumidorH Offline
                      Humidor
                      schrieb am zuletzt editiert von
                      #10

                      ich verstehe die Worte, kann ich aber nicht in Taten umsetzen, wäre das etwa so?
                      Bild Text

                      BG

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • HumidorH Humidor

                        ich verstehe die Worte, kann ich aber nicht in Taten umsetzen, wäre das etwa so?
                        Bild Text

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #11

                        @Humidor sagte in mein erstes Blockly... korrekt?:

                        wäre das etwa so?

                        etwa, ja!

                        ein weiteres Stop timeout direkt vor dem timeout, damit das alte gestoppt wird auch wenn ein neues gestartet wird

                        kein Support per PN! - Fragen im Forum stellen -

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

                        ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

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

                        HumidorH 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @Humidor sagte in mein erstes Blockly... korrekt?:

                          wäre das etwa so?

                          etwa, ja!

                          ein weiteres Stop timeout direkt vor dem timeout, damit das alte gestoppt wird auch wenn ein neues gestartet wird

                          HumidorH Offline
                          HumidorH Offline
                          Humidor
                          schrieb am zuletzt editiert von
                          #12

                          @Homoran sagte in mein erstes Blockly... korrekt?:

                          @Humidor sagte in mein erstes Blockly... korrekt?:

                          wäre das etwa so?

                          etwa, ja!

                          ein weiteres Stop timeout direkt vor dem timeout, damit das alte gestoppt wird auch wenn ein neues gestartet wird

                          verstehe nicht ganz, wäre das die Lösung?
                          Bild Text

                          BG

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • HumidorH Humidor

                            @Homoran sagte in mein erstes Blockly... korrekt?:

                            @Humidor sagte in mein erstes Blockly... korrekt?:

                            wäre das etwa so?

                            etwa, ja!

                            ein weiteres Stop timeout direkt vor dem timeout, damit das alte gestoppt wird auch wenn ein neues gestartet wird

                            verstehe nicht ganz, wäre das die Lösung?
                            Bild Text

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #13

                            @Humidor sagte in mein erstes Blockly... korrekt?:

                            verstehe nicht ganz, wäre das die Lösung?

                            nein!

                            das stop direkt VOR "Ausführen...."

                            kein Support per PN! - Fragen im Forum stellen -

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

                            ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

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

                            1 Antwort Letzte Antwort
                            0
                            • HumidorH Offline
                              HumidorH Offline
                              Humidor
                              schrieb am zuletzt editiert von
                              #14

                              so?
                              Bild Text

                              BG

                              HomoranH HumidorH 2 Antworten Letzte Antwort
                              0
                              • HumidorH Humidor

                                so?
                                Bild Text

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von Homoran
                                #15

                                @Humidor Ja!

                                und zum Thema Debug:
                                debugging.png

                                Mal auf die Schnelle einen beliebigen Debug-Baustein genommen.
                                Das Ergebnis wird im log eangezeigt

                                kein Support per PN! - Fragen im Forum stellen -

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

                                ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

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

                                1 Antwort Letzte Antwort
                                1
                                • HumidorH Offline
                                  HumidorH Offline
                                  Humidor
                                  schrieb am zuletzt editiert von
                                  #16

                                  Super!

                                  dann möchte ich noch einen Debug Ausgabe machen, wo alle 10s die Werte von bBlock, Intervall ausgegeben werden.
                                  läuft das so:
                                  Bild Text

                                  BG

                                  HomoranH 1 Antwort Letzte Antwort
                                  0
                                  • HumidorH Humidor

                                    Super!

                                    dann möchte ich noch einen Debug Ausgabe machen, wo alle 10s die Werte von bBlock, Intervall ausgegeben werden.
                                    läuft das so:
                                    Bild Text

                                    HomoranH Nicht stören
                                    HomoranH Nicht stören
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von
                                    #17

                                    @Humidor sagte in mein erstes Blockly... korrekt?:

                                    läuft das so:

                                    neee.
                                    Das ist kein Intervall, sondern ein Timeout.

                                    @Humidor sagte in mein erstes Blockly... korrekt?:

                                    wo alle 10s die Werte

                                    Wieso alle 10 Sekunden.
                                    Es muss doch reichen wenn sie geändert werden, oder?
                                    Dann einfach den Debug ganz oben als erstes unter den Trigger vor "falls bBlock"...

                                    Mit dem Intervall Timeout (???) ist das schon etwas komplizierter, da dort ein fester Name vergeben ist und du den nicht abfragen kannst. Zumindest habe ich es noch nie versucht.

                                    Du kannst aber einen eigenen Namen statt "Intervall" eingeben, legst dazu noch eine Variable mit eben diesem Namen an, und fragst die im debug ab.

                                    kein Support per PN! - Fragen im Forum stellen -

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

                                    ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

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

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • HumidorH Humidor

                                      Hallo Gemeinde!

                                      Möchte euch Korrektur fragen für meinen ersten Bock.
                                      Ein Feuchtigkeitssensor per zigbee wird eingelesen, dieser soll unter 65% ein Telegram und über 75% abschicken.
                                      Passt der Block dazu?

                                      on({id: 'zigbee.0.00158d00042704c0.humidity', change: "ne"}, function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        if (getState("zigbee.0.00158d00042704c0.humidity").val < 65) {
                                          sendTo("telegram.0", "send", {
                                              text: 'Feuchtigkeit im Humidor zu gering !'
                                          });
                                          console.log("telegram: " + 'Feuchtigkeit im Humidor zu gering !');
                                        } else if (getState("zigbee.0.00158d00042704c0.humidity").val > 75) {
                                          sendTo("telegram.0", "send", {
                                              text: 'Feuchtigkeit im Humidor zu hoch !'
                                          });
                                          console.log("telegram: " + 'Feuchtigkeit im Humidor zu hoch !');
                                        }
                                      });
                                      
                                      parseFloat();
                                      

                                      Bild Text

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

                                      @Humidor sagte:

                                      soll unter 65% ein Telegram und über 75% abschicken.

                                      Wenn nur einmal bei Grenzwertunterschreitung bzw. -überschreitung ein Telegramm gesendet werden soll, kann man es so machen:

                                      Blockly_temp.JPG

                                      Wert findet man unter "Trigger".

                                      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
                                      2
                                      • HumidorH Offline
                                        HumidorH Offline
                                        Humidor
                                        schrieb am zuletzt editiert von Humidor
                                        #19

                                        die Debug-Anzeige soll unabhängig vom Code sein, zeitlich reicht mir
                                        Bild Text

                                        15:04:55.003	info	javascript.0 (5315) script.js.common.Humidity: bBlock: , Timeout:
                                        15:05:00.005	info	javascript.0 (5315) script.js.common.Humidity: bBlock: , Timeout:
                                        

                                        verstehe noch nicht wie ich den Bool Block als True/False oder 1/2 anzeige bzw. die timeouts.. ?

                                        BG

                                        HomoranH paul53P 2 Antworten Letzte Antwort
                                        0
                                        • HumidorH Humidor

                                          die Debug-Anzeige soll unabhängig vom Code sein, zeitlich reicht mir
                                          Bild Text

                                          15:04:55.003	info	javascript.0 (5315) script.js.common.Humidity: bBlock: , Timeout:
                                          15:05:00.005	info	javascript.0 (5315) script.js.common.Humidity: bBlock: , Timeout:
                                          

                                          verstehe noch nicht wie ich den Bool Block als True/False oder 1/2 anzeige bzw. die timeouts.. ?

                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #20

                                          @Humidor sagte in mein erstes Blockly... korrekt?:

                                          die Debug-Anzeige soll unabhängig vom Code sein

                                          Da die Variable bBlock aber nur in dem Code vorkommt muss der Cron-Block sich aber im gleichen Blockly (genau gesagt neben oder über/unter dem anderen) befinden

                                          kein Support per PN! - Fragen im Forum stellen -

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

                                          ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

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

                                          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

                                          513

                                          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