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. ioBroker Allgemein
  4. (gelöst) Hallo und ein paar kleine Fragen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

(gelöst) Hallo und ein paar kleine Fragen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
26 Beiträge 8 Kommentatoren 4.0k 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.
  • J Offline
    J Offline
    Jan1
    schrieb am zuletzt editiert von
    #1

    Ich bin dann mal ein Neueinsteiger und hab noch nicht so den Durchblick. Die ersten Erfolge hatte ich schon, aber auch wesentlich mehr Misserfolge beim Umgang mit dem IOBroker :D

    Ich frag dann einfach mal drauf los, was ich mir bis jetzt nicht so richtig erklären konnte.

    Da ich keine Programmiertechnische beherrsche, bediene ich mich eben Blockly und das klappt auch mehr oder weniger. Hier ist mir auf gefallen, dass man Eingänge von "intern" auf "extern" umstellen kann. Was bewirkt das, außer dass es je nach Einsatz mal so oder so übersichtlicher wird?

    Dann ist mir noch nicht ganz schlüssig wann man ein Script als global und wann als commn anlegt. Ich bin gerade dabei meine Heizung zu steuern (was soweit auch funktioniert). Da ich Schichtdienst habe, wollte ich jetzt das auch einbinden und die Heizung in Abhängigkeit des Dienstplan steuern. Das klappt auch schon über eine iCAL Auswertung. Derzeit hab ich alles in einem einzigen common Blockly Skript erledigt, was nicht wirklich übersichtlich ist und alle Schaltvarianten, gesteuert über Cron Trigger permanent abgefragt werden.

    Ich hab ein wenig mit der Siemens SPS S7 Erfahrung und da gabs auch Unterscheidungen in global und lokal. Deshalb hatte ich mir gedacht, könnte hier ähnlich sein. So würde ich dann zum Beispiel die Auswertung des Kalender in ein globales Skript packen und die eigentlichen Steuerungen in common Skripte, welche dann von dem globalen Skript aufgerufen werden.

    Ist das so in etwa richtig, oder liege ich hier falsch?

    Also für die Profis hier wohl sehr banale Dinge, die mir (noch) Kopfzerbrechen bereiten :lol:

    1 Antwort Letzte Antwort
    0
    • HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      Hallo und Willkommen im Forum!

      @Jan1:

      Dann ist mir noch nicht ganz schlüssig wann man ein Script als global und wann als commn anlegt `
      ~~@[url=http://www.iobroker.net/docu/?page_id=5319⟨=de#Anlegen_eines_Scripts:~~

      ~~Doku"]~~Skripte, die im Ordner global gespeichert wurden, sind globale Skripte. Eine Kopie dieser Skripte wird intern an jedes andere Skript angehängt. Somit lassen sich globale Funktionen auf mehrere Skripte anwenden. Globale Skripte dienen als Sammlung häufig verwendeter eigener Funktionen. `
      @Jan1:

      Ist das so in etwa richtig ` :D

      Gruß

      Rainer

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

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

      1 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        Jan1
        schrieb am zuletzt editiert von
        #3

        OK, also genau umgekehrt :lol:

        Das hatte ich auch gelesen, aber anscheinend irgendwie verdrängt. Gibt es hier noch mehr Unterschiede in der Abarbeitung zwischen global und common?

        Und an jedes Skript angehängt wäre wohl auch etwas blöd. Lässt sich das nicht wie eine Bibliothek anlegen, so dass ich mir aussuchen kann, welches globale Skript an welches common Skript angehängt wird?

        1 Antwort Letzte Antwort
        0
        • rantanplanR Online
          rantanplanR Online
          rantanplan
          schrieb am zuletzt editiert von
          #4

          @Jan1:

          Gibt es hier noch mehr Unterschiede in der Abarbeitung zwischen global und common? `

          Blockly generierte Scripte sind für "global" NICHT geeignet.

          Entweder "common" oder eigene Ordner-Struktur anlegen.

          "Unter" common oder "drüber" ist dabei egal.

          Grüße

          Rantanplan

          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

          1 Antwort Letzte Antwort
          0
          • rantanplanR Online
            rantanplanR Online
            rantanplan
            schrieb am zuletzt editiert von
            #5

            Habe noch etwas vergessen.

            Wenn Fragen zu Blockly, dann bitte "Blockly" mit in den Betreff schreiben und in Rubrik "ioBroker Scripten" setzen.

            Grüße

            Rantanplan

            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

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

              @Jan1:

              Lässt sich das nicht wie eine Bibliothek anlegen, so dass ich mir aussuchen kann, welches globale Skript an welches common Skript angehängt wird? `
              Nein, das ist nicht vorgesehen. Alle unter global angelegten Skripte werden an jedes andere Skript angehängt. Globale Skripte dienen für immer wieder verwendete, nicht sehr umfangreiche eigene Funktionen, damit diese Funktionen in jedem (nicht globalen) Skript zur Verfügung stehen.

              Ich verwende in meinem Produktivsystem 2 globale Skripte mit insgesamt 4 Funktionen (30 Zeilen).

              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
              • R Offline
                R Offline
                RappiRN
                Most Active
                schrieb am zuletzt editiert von
                #7

                Was wäre denn eigentlich eine mögliche Anwendung für ein globales Script, wofür verwendest du es z.B.?

                Enrico

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

                  @RappiRN:

                  wofür verwendest du es z.B.? `
                  Eine Funktion ist das Runden auf eine bestimmte Zahl von Nachkommastellen; eine andere das Loggen von Netzausfall, -wiederkehr und Servicemeldungen in eine Datei. Diese Datei lasse ich mir als Anhang per Mail zusenden.

                  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
                  • J Offline
                    J Offline
                    Jan1
                    schrieb am zuletzt editiert von
                    #9

                    OK, somit kann ich das global und commen wohl unter verstanden abhaken.

                    Dann nochmal kurz zu meiner ersten Frage bezüglich den externen und internen Eingänge bei Blockly Bausteinen. Was hat's damit auf sich?

                    1 Antwort Letzte Antwort
                    0
                    • DutchmanD Offline
                      DutchmanD Offline
                      Dutchman
                      Developer Most Active Administrators
                      schrieb am zuletzt editiert von
                      #10

                      @Jan1:

                      Dann nochmal kurz zu meiner ersten Frage bezüglich den externen und internen Eingänge bei Blockly Bausteinen. Was hat's damit auf sich? `

                      Nur die grafische Wiedergabe funtionel kein Unterschied ;)

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

                      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 Antwort Letzte Antwort
                      0
                      • J Offline
                        J Offline
                        Jan1
                        schrieb am zuletzt editiert von
                        #11

                        OK, dann sind ja meine ersten Fragen alle beantwortet. Vielen Dank an Euch.

                        Nur zum Absichern und dass mir da nix ungewolltes passiert hier mal ein Beispiel was ich nun als globales Skript erstellt habe:

                        [b]var Anwesenheit;
                        
                        schedule("* * * * * *", function () {
                          if (getState("tr-064.0.devices.Anja-Handy").val || getState("tr-064.0.devices.Jan-Handy").val) {
                            Anwesenheit = true;
                          } else {
                            Anwesenheit = false;
                          }
                        });[/b]
                        

                        Damit mache ich eine Anwesenheitsprüfung von Frau und mir und steure damit in common Skripts mit der Abfrage der Variable "Anwesenheit" auf true und false diverse Aktoren. In der Simulation funktioniert das schon mal, wenn das einer so bestätigen kann, wird das "scharf" geschaltet :mrgreen:

                        1 Antwort Letzte Antwort
                        0
                        • T Offline
                          T Offline
                          tempestas
                          schrieb am zuletzt editiert von
                          #12

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

                          Bitte````
                          Codetags nutzen

                          <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                          1 Antwort Letzte Antwort
                          0
                          • J Offline
                            J Offline
                            Jan1
                            schrieb am zuletzt editiert von
                            #13

                            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 Antwort Letzte Antwort
                            0
                            • rantanplanR Online
                              rantanplanR Online
                              rantanplan
                              schrieb am zuletzt editiert von
                              #14

                              @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

                              Rantanplan

                              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                              1 Antwort Letzte Antwort
                              0
                              • rantanplanR Online
                                rantanplanR Online
                                rantanplan
                                schrieb am zuletzt editiert von
                                #15

                                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

                                Rantanplan

                                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                1 Antwort Letzte Antwort
                                0
                                • J Offline
                                  J Offline
                                  Jan1
                                  schrieb am zuletzt editiert von
                                  #16

                                  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 Antwort Letzte Antwort
                                  0
                                  • DutchmanD Offline
                                    DutchmanD Offline
                                    Dutchman
                                    Developer Most Active Administrators
                                    schrieb am zuletzt editiert von
                                    #17

                                    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 Antwort Letzte Antwort
                                    0
                                    • J Offline
                                      J Offline
                                      Jan1
                                      schrieb am zuletzt editiert von
                                      #18

                                      @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 Antwort Letzte Antwort
                                      0
                                      • J Offline
                                        J Offline
                                        Jan1
                                        schrieb am zuletzt editiert von
                                        #19

                                        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 Antwort Letzte Antwort
                                        0
                                        • AlCalzoneA Offline
                                          AlCalzoneA Offline
                                          AlCalzone
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #20

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

                                          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          712

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          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