Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. (gelöst) Hallo und ein paar kleine Fragen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    (gelöst) Hallo und ein paar kleine Fragen

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

      Bleibt die Frage, warum man das unbedingt für alle anderen Skripte brauchen soll/will 😉

      Bitte````
      Codetags nutzen

      1 Reply Last reply Reply Quote 0
      • J
        Jan1 last edited by

        OK, derzeit steure ich nur die Heizung damit und da ist Deine Frage schon berechtigt. Will ich das später wirklich an allen Skripten angehängt haben?

        Eigentlich nein, nur wenn ich das in ein common Skript packe, ist die Variable wohl nicht "global und ich kann sie nicht pauschal in einem anderen Skript abfragen, zumindest hat das so nicht funktioniert.

        Wie bastele ich mir das dann so, dass ich von anderen Skripten auf diese erzeugte Variable zurückgreifen kann?

        1 Reply Last reply Reply Quote 0
        • rantanplan
          rantanplan last edited by

          @Jan1:

          OK, derzeit steure ich nur die Heizung damit und da ist Deine Frage schon berechtigt. Will ich das später wirklich an allen Skripten angehängt haben?

          Eigentlich nein, nur wenn ich das in ein common Skript packe, ist die Variable wohl nicht "global und ich kann sie nicht pauschal in einem anderen Skript abfragen, zumindest hat das so nicht funktioniert.

          Wie bastele ich mir das dann so, dass ich von anderen Skripten auf diese erzeugte Variable zurückgreifen kann? `
          Hallo Jan1

          Zum Einen macht es wirklich keinen Sinn an JEDES Script einen Timer zu hängen, der jede Minute Triggers.

          Zum Anderen wirfst Du da etwas durcheinander.

          Der "global" Ordner hat nichts mit globalen Variablen zu tun.

          Globale Variablen in ioBroker sind Datenpunkte. Die kannst Du über ein Blockly anlegen oder direkt in dem Reiter "Objekte".

          Die kannst Du dann aus jedem Script oder auch in VIS ansprechen.

          Lokale Variablen findest Du im Blockly Editor unter "Variablen". Die sind dann nur innerhalb des Scripts gültig.

          Datenpunkte mit Blockly anlegen, wird in fast jedem Beispiel gezeigt.

          Grüße

          1 Reply Last reply Reply Quote 0
          • rantanplan
            rantanplan last edited by

            Hier ein paar Beispiele 😉 :

            http://forum.iobroker.net/viewtopic.php … tro#p48209

            http://forum.iobroker.net/viewtopic.php … 552#p90810

            http://forum.iobroker.net/viewtopic.php … pin#p48033

            1 Reply Last reply Reply Quote 0
            • J
              Jan1 last edited by

              Alles klar, hat zwar gedauert, aber der Groschen ist gefallen als ich mir das SA/SU Skript angesehen habe.

              In der Art kann ich mir jetzt meine Variable "Anwesenheit" schön als Objekt erstellen und dann natürlich auch schön abfragen.

              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                Und lesson learned: arbeite mit subscript/Änderungen anstatt shedule alle x min und abfragen der Werte 😉

                –-----------------------

                Send from mobile device

                Das schöne ios hat Auto Korrektur zum k****

                Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                1 Reply Last reply Reply Quote 0
                • J
                  Jan1 last edited by

                  @Dutchman

                  Ja es kann so einfach sein, wenn man mal versteht, was überhaupt geht und wie und es dann auch noch Leute wie Dich gibt, die einem das in wenigen Worten auch noch so erklären, dass man es als blutiger Anfänger auch noch versteht :lol:

                  Meine Heizungssteuerung ist somit gerettet und ein dickes Dankeschön an Dich.

                  1 Reply Last reply Reply Quote 0
                  • J
                    Jan1 last edited by

                    Eine abschließende Frage hab ich noch.

                    In welchem Zyklus werden aktive Skripte abgearbeitet? Ich hab ein einfaches Skript, mit dem ich zwei Schalter in gegenseitiger Abhänigkeit schalte. Dieses Skript arbeitet ohen Cronjob in Echtzeit, sprich wenn ich den einen Schalter betätige, ändert sich sofort auch der andere.

                    Jetzt hab ich auch Skripte, die etwas komplexer sind und die ohne Cronjob irgendwie nichts machen, zumindest mal passiert nichts, wenn eine der Abgefragte Bedingungen erfüllt wird.

                    Welche Faktoren spielen hier eine Rolle und oder kann man das auch durch Einstellungen beeinflussen?

                    1 Reply Last reply Reply Quote 0
                    • AlCalzone
                      AlCalzone Developer last edited by

                      @Jan1:

                      In welchem Zyklus werden aktive Skripte abgearbeitet? `
                      Es gibt keinen wirklichen Zyklus. In NodeJS bzw. ioBroker ist fast alles Ereignisbasiert, d.h. wenn etwas passiert, führe etwas aus. In diese Denkweise muss man sich erst mal reindenken, aber dann kannst du fast alles abbilden.

                      Wenn du mit einem Skript nicht weiter kommst, erstelle am besten mal ein spezifisches Thema, in dem du beschreibst was du lösen willst, was du bisher hast, was nicht geht, und was dir zur Verfügung steht.

                      1 Reply Last reply Reply Quote 0
                      • J
                        Jan1 last edited by

                        Das war eine generelle Frage und Deine Antwort bringt mich da schon weiter.

                        Heißt also es werden quasi permanent alle Status abgefragt und sobald sich einer ändert, der auch in einem Skript relevant ist, wird auch die damit im Skript verbundene Aktion ausgeführt, richtig? Das erklärt auch warum mein "Wechselschalter" Skript ohne weiteres Zutun eines Cronjob oder sonstigen Aufruf funktioniert. Warum meine Heizungssteuerung das ohne Cronjob nicht macht, muss ich mir eben noch mal ansehen.

                        Ich glaub ich sollte mal von der Simatic S7 Denkweise weg, damit bin ich jetzt schon mehrfach hier komplett daneben gelegen 😉

                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          @Jan1:

                          Heißt also es werden quasi permanent alle Status abgefragt und sobald sich einer ändert, der auch in einem Skript relevant ist, wird auch die damit im Skript verbundene Aktion ausgeführt, richtig? `

                          Richtig, aber nur wen du auch darauf triggerst also jetzige Werte mit on() überwachst.

                          @Jan1:

                          Warum meine Heizungssteuerung das ohne Cronjob nicht macht, muss ich mir eben noch mal ansehen. `

                          Poste das Script Mal, ich tippe drauf dass der Trigger fehlt.

                          –-----------------------

                          Send from mobile device

                          Das schöne ios hat Auto Korrektur zum k****

                          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                          1 Reply Last reply Reply Quote 0
                          • J
                            Jan1 last edited by

                            Dutchman, Du bist echt der Mann der mit einem Satz bei mir das Licht an macht.

                            Stichwort Trigger, ich bin seit 2 Wochen jetzt mit dem IOBroker beschäftigt und manche Dinge funktionieren genau so, wie ich es mir gedacht habe und andere einfach nicht. Ich nutze die ganze Zeit den Cron als Trigger und wenn Du schreibst, das bestimmt der Trigger fehlt, dann war mir gleich klar, was los ist.

                            Ich kann nicht einfach den Cron weg lassen und erwarten, dass das Skript läuft. Es gibt bei Blockly ja noch andere Trigger und wenn man die mal genauer anschaut, dann versteh sogar ich gleich was los ist. Mich hat beim eigentlichen Cron Trigger eben nicht gefallen, dass wenn ich eine zeitnahe Aktion haben möchte den im Sekundentakt laufen lasen muss.

                            Lange Rede kurz Sinn, ich hab's verstanden.

                            Hier dann mal mein Skript "Wechselschalter" das ganz ohne Trigger läuft und das dürfte dann auch klar sein, da sich diese Funktion quasi selber triggert.

                            on({id: 'sonoff.1.DVES_866039.POWER', change: "ne"}, function (obj) {
                              setState('sonoff.1.DVES_8CC500.POWER', obj.state.val);
                            });on({id: 'sonoff.1.DVES_8CC500.POWER', change: "ne"}, function (obj) {
                              setState('sonoff.1.DVES_866039.POWER', obj.state.val);
                            });
                            
                            1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators last edited by

                              Das hat du so richtig verstanden.

                              Was du gepostet haast ist ein blockly export das müsste ich eerst importieren.

                              Screenshot oder "zeige Code" währen besser (in blockly zeige Code = JavaScript!)

                              Schau für triggert auch Mal hier: https://github.com/ioBroker/ioBroker.ja ... some-state


                              Send from mobile device

                              Das schöne ios hat Auto Korrektur zum k****

                              Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                              1 Reply Last reply Reply Quote 0
                              • J
                                Jan1 last edited by

                                Sorry, hab's geändert.

                                1 Reply Last reply Reply Quote 0
                                • Dutchman
                                  Dutchman Developer Most Active Administrators last edited by

                                  @Jan1:

                                  Sorry, hab's geändert. `

                                  🙂

                                  Und dieser Teil ist Halt der Trigger

                                  "on({id: 'sonoff.1.DVES_866039.POWER', change: "ne"}, function (obj) "

                                  Zwischen { } was ausgeführt werden soll wenn der Trigger aktiviert wird.

                                  –-----------------------

                                  Send from mobile device

                                  Das schöne ios hat Auto Korrektur zum k****

                                  Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate
                                  FAQ Cloud / IOT
                                  HowTo: Node.js-Update
                                  HowTo: Backup/Restore
                                  Downloads
                                  BLOG

                                  686
                                  Online

                                  32.0k
                                  Users

                                  80.3k
                                  Topics

                                  1.3m
                                  Posts

                                  8
                                  26
                                  3226
                                  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