Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Erstes Blockly Script für Briefkasten Monitoring ... aber

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Erstes Blockly Script für Briefkasten Monitoring ... aber

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      topsurfer last edited by topsurfer

      Hallo,
      ich versuche gerade etwas mit Blockly "Freund" zu werden (komme eher aus der Shell-Programmierung).

      Habe einen Briefkastenschalter,
      sobald die Klappe geöffnet wird soll eine Aktion gestartet werden (Schalter-Symbol in der vis2 geändert werden=Ist was im Briefkasten), später soll dann noch weitere Aktionen folgen...

      Hab in Blockly den DP "Briefkasten_Voll" erstellt, der wird zu beginn auf "false" gesetzt.
      Und wenn was eingeworfen wurde soll er dann solange auf true bleiben, bis der DP über das virt. Briefkasten-Symbol in der vis2 als "geleert" markiert wird (so das nur einmal eine Meldung erzeugt wird).

      Aber es hängt schon daran, dass der DP "Briefkasten_Voll" nie auf True gesetzt wird 😞

      Kann man in einem Debug-Abschnitt auch den Wert von einem DP sich mit ausgeben lassen?
      2025-02-12_175848.png

      Homoran paul53 amg_666 Codierknecht 4 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @topsurfer last edited by Homoran

        @topsurfer Das Ausrufezeichen hast du sicher bemerkt!

        Niemals nie nicht einen Trigger in einem anderen Trigger verwenden

        Der debug "Briefkasten wird auf voll gesetzt" zeigt aber an, dass der DP auf true gesetzt werden müsste.

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @topsurfer last edited by paul53

          @topsurfer sagte: der DP "Briefkasten_Voll" nie auf True gesetzt wird

          Laut Log muss der DP auch auf true gesetzt werden. Prüfe es mal so:

          Blockly_temp.JPG

          1 Reply Last reply Reply Quote 0
          • amg_666
            amg_666 @topsurfer last edited by

            @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

            inen Briefkastenschalter,

            Du willst, dass bei Öffnen des Briefkastens deine Hilfsvariable auf "noch nicht voll" oder auf "ist voll" gesetzt wird.
            Das Skript wird ausgelöst wenn der sensor door/wndow true ist, das ist ok.
            Aber deine Prüfung ob ganz voll oder nicht hast du auch als Trigger programmiert, das ist falsch, siehe auch Kommntar von @Hormoran, du musst die If Abfrage mit dem If aus dem Logikblock von Blockly bauen, nicht mit einem Trigger:
            1cccdb14-3723-48e5-aed2-9678bd5eef91-grafik.png

            1 Reply Last reply Reply Quote 0
            • T
              topsurfer last edited by

              Danke euch erst einmal für eure Hilfe!

              Hab es etwas geändert, von meiner logik ist es so richtig, aber beim:
              "Falls: 'Wert' vom Objekt: Objekt-ID 'Obj-ID Briefkasten_voll' " kann ich keinen Check auf true oder false rechts hinzufügen. Ist das nicht der richtige Blockly-Teil?
              Dieser Zweig wird nie durchlaufen, es wird nur der "sonst" Zweig durchlaufen.

              2025-02-12_192041.png

              Auch zeigt das Log zwei "warnings"an, die ich nicht zuordnen kann (Infos 5:1, 24:3; das sind ja keine Zeilen oder so...)

              "Du willst, dass bei Öffnen des Briefkastens deine Hilfsvariable auf "noch nicht voll" oder auf "ist voll" gesetzt wird."
              Hmmm, mein "Briefkasten_Voll" ist ja ein DP, das ist doch nicht das gleiche wie eine Variable (die man ja auch definieren kann)

              Homoran 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @topsurfer last edited by

                @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                das sind ja keine Zeilen oder so...)

                doch!
                stell mal die Ansicht auf javascript um, dann siehst du sie auch

                T 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @topsurfer last edited by

                  @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                  von meiner logik ist es so richtig,

                  Die Logik ist eher negiert.

                  @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                  kann ich keinen Check auf true oder false rechts hinzufügen.

                  dazu bedarf es noch den Logikblock mit dem Komperator.
                  So wie es jetzt da steht heisst es =true

                  @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                  wird nur der "sonst" Zweig durchlaufen.

                  dann wäre der Wert tatsächlich false

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    topsurfer @Homoran last edited by

                    @homoran

                    Das hatte ich auch schon gemacht, aber was ist 24:3 ?
                    Das js hat nur 18 Zeilen ...

                    Und in zeile 5: "Remove unused declaration for Console" ?

                    console.info('Start');
                    createState('0_userdata.0.Hilfs-DP.Briefkasten_Voll', !!(!true), { type: 'boolean', read: true, write: true }, async () => {
                    });
                    setState('0_userdata.0.Hilfs-DP.Briefkasten_Voll' /* 0_userdata.0.Hilfs-DP.Briefkasten_Voll */, false, true);
                    on({ id: 'zwave2.0.Node_008.Binary_Sensor.door_window' /* Sensor state (Door/Window) */, val: true }, async (obj) => {
                      let value = obj.state.val;
                      let oldValue = obj.oldState.val;
                      console.info('Klappe betätigt');
                      if (getState('0_userdata.0.Hilfs-DP.Briefkasten_Voll').val) {
                        console.info('BK war noch nicht voll');
                        setState('0_userdata.0.Hilfs-DP.Briefkasten_Voll' /* 0_userdata.0.Hilfs-DP.Briefkasten_Voll */, true, true);
                        console.info('BK wird auf voll gesetzt');
                      } else {
                        console.info('War schon was drin, aber nochmal was eingeworfen');
                      }
                    });
                    
                    //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2N....==
                    
                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @topsurfer last edited by

                      @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                      Das js hat nur 18 Zeilen ...

                      hast du etwa Skripte unter global?
                      (Expertenmodus aktivieren!)

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        topsurfer @Homoran last edited by

                        @homoran said in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                        dazu bedarf es noch den Logikblock mit dem Komperator.

                        Hmmm,
                        ist mein Ausgangsteil falsch? Da kann ich ja keinen Operator andocken 😞
                        2025-02-12_194104.png

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @topsurfer last edited by Homoran

                          @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                          ist mein Ausgangsteil falsch? Da kann ich ja keinen Operator andocken

                          entweder das nicht vor den "Wert von", dann entspricht das =false oder noch zusätzlich einen operator Block verwenden
                          ...=... wobei das = per pulldown geändert werden kann
                          Screenshot_20250212-194656_Firefox.jpg

                          diese beiden Ausdrücke
                          Screenshot_20250212-194955_Firefox.jpg
                          sind inhaltlich identisch

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            topsurfer @Homoran last edited by

                            @homoran

                            Eher nicht, oder?
                            2025-02-12_195825.png

                            Homoran 1 Reply Last reply Reply Quote 0
                            • T
                              topsurfer @Homoran last edited by topsurfer

                              @homoran
                              Ich finde die Teile nicht, bzw. kann ich diese nicht mit "Überprüfung auf ..." ("= falsch") erweitern 😞

                              2025-02-12_195755.png

                              Ist das unter "System"?
                              Da sehe ich:
                              2025-02-12_200007.png

                              Ich dachte Blockly wäre einfach 😉

                              Homoran 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @topsurfer last edited by

                                @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                                Eher nicht,

                                sieht so aus

                                leider sind die Zeiten abgeschnitten, der Fehler könnte nachher nicht weiter aufgetreten sein.
                                ob das mit der Declaration zu tun haben könnte weiß ich nicht, bin kein js Spezialist.

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @topsurfer last edited by Homoran

                                  @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                                  Ist das unter "System"?

                                  nein!

                                  @homoran sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                                  den Logikblock mit dem Komparator.

                                  ist ja Teil deiner Logik

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    topsurfer @Homoran last edited by

                                    @homoran said in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                                    den Logikblock mit dem Komparator.

                                    Hmmm,
                                    unter "Logik" finde ich nichts, womit ich den Baustein aus deinem Bsp "bauen" kann ... müsste doch "xxxx VOM OBJEKT ID xxxx" drin sein,
                                    was mache ich falsch, oder doch nicht unter "Logik" ?
                                    (unter "System" gibt es halt "VOM OBJEKT ID ..." daher hatte ich das genommen)

                                    2025-02-12_205427.jpg

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @topsurfer last edited by Homoran

                                      @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                                      müsste doch "xxxx VOM OBJEKT ID xxxx" drin sein,

                                      nee, das schiebst du in die erste freie Stelle
                                      man sieht dich dass da ein Baustein im anderen sitzt

                                      habs dir doch gezeigt
                                      Screenshot_20250212-194656_Firefox.jpg

                                      und dann beide Lücken füllen.
                                      Bausatz à la Blockly

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        topsurfer @Homoran last edited by

                                        @homoran said in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                                        und dann beide Lücken füllen.

                                        Danke für deine / eure Geduld, jetzt hab ich's.
                                        Muss mal nach Grundlagenvideo zu Blockly schauen, um zu sehen, was wie wo ineinander verschachtelbar ist ...

                                        Morgen mal schauen, wie ich den Datenpunkt "Briefkasten_Voll" per vis2 zurücksetze und das entsprechende Briefkastensymbol auf "leeren Briefkasten" zurück gesetzt werden kann ....

                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @topsurfer last edited by

                                          @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                                          was wie wo ineinander verschachtelbar ist ...

                                          alles! 😂

                                          @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                                          Morgen mal schauen,

                                          halt mich auf dem laufenden

                                          1 Reply Last reply Reply Quote 0
                                          • Codierknecht
                                            Codierknecht Developer Most Active @topsurfer last edited by

                                            @topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:

                                            ich versuche gerade etwas mit Blockly "Freund" zu werden

                                            Etwas Lesestoff: https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps

                                            T 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            784
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            44
                                            1221
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo