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.
  • 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 Offline
                HomoranH Offline
                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 Offline
                      HomoranH Offline
                      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 Offline
                          HomoranH Offline
                          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 Offline
                              HomoranH Offline
                              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 Offline
                                  HomoranH Offline
                                  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 Offline
                                        HomoranH Offline
                                        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
                                        • HomoranH Homoran

                                          @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.

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

                                          @Homoran sagte:

                                          Mit dem Intervall Timeout (???) ist das schon etwas komplizierter, da dort ein fester Name vergeben ist und du den nicht abfragen kannst.

                                          Man kann.

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

                                          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.

                                          Das sollte man nicht machen, da dann die Variable mit gleichem Namen doppelt vorhanden ist. Falls es noch keine selbst erstellte Variable gibt, sollte man eine Dummy-Variable anlegen, diese in das Editor-Fenster ziehen und anschließend die Timer-Variable auswählen.

                                          Blockly_dummy.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

                                          HomoranH 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

                                          272

                                          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