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. Entwicklung
  4. Verbesserungsvorschläge ioBroker

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    6
    1
    59

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

Verbesserungsvorschläge ioBroker

Geplant Angeheftet Gesperrt Verschoben Entwicklung
verbesserungoptimierungiobrokeradmin adapterjavascript adapter
22 Beiträge 8 Kommentatoren 2.6k Aufrufe 7 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.
  • paul53P paul53

    @aleks-83 sagte:

    sollte man dann für jeden Vorschlag oder Adapterspezifisch einen neuen Thread aufmachen?

    Dafür erstellt man ein Issue auf Github beim entsprechenden Adapter.

    @aleks-83 sagte in Verbesserungsvorschläge ioBroker:

    wenn man im Javascript Adapter gleich sehen könnte welche Skripte einen Verweis auf einen nicht vorhanden Datenpunkt haben.

    Der JS-Editor kennt die Objekte nicht. Während der Abarbeitung des Skriptes wird bei nichtexistierenden Objekten eine Warnung erzeugt, aus der man (im Log-Reiter) auch die zugehörige Zeilennummer entnehmen kann. Das sollte genügen.

    J Offline
    J Offline
    Jan1
    schrieb am zuletzt editiert von
    #4

    @paul53
    Das genügt in der Regel auch, ist aber eben nicht wirklich komfortabel. Darauf will der TE raus und ist damit auch meiner Meinung.
    Ein Programmierer oder einer der Übung mit dem IOBroker hat, wird da nichts vermissen, ein Anwender schon.
    Du schreibst das es im Log erfasst wird und somit könnte man das eben ach grafisch aufhübschen.

    @aleks-83
    Kann man hier diskutieren, sollte aber trotzdem in ein Issues auf Github beim entsrechenden Adapter plaziert werden.
    Falls zu der Idee hier schon kein oder negatives Feedback kommt, kannst Dir das Issues sparen.

    paul53P 1 Antwort Letzte Antwort
    0
    • J Jan1

      @paul53
      Das genügt in der Regel auch, ist aber eben nicht wirklich komfortabel. Darauf will der TE raus und ist damit auch meiner Meinung.
      Ein Programmierer oder einer der Übung mit dem IOBroker hat, wird da nichts vermissen, ein Anwender schon.
      Du schreibst das es im Log erfasst wird und somit könnte man das eben ach grafisch aufhübschen.

      @aleks-83
      Kann man hier diskutieren, sollte aber trotzdem in ein Issues auf Github beim entsrechenden Adapter plaziert werden.
      Falls zu der Idee hier schon kein oder negatives Feedback kommt, kannst Dir das Issues sparen.

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

      @Jan1 sagte in:

      somit könnte man das eben ach grafisch aufhübschen.

      Im Log oder welche Vorstellungen existieren ?

      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

      J 1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        aleks-83
        schrieb am zuletzt editiert von
        #6

        So war das nicht ganz gemeint.

        Wenn es im Log auftaucht sehe ich es ja auch irgendwann.
        Aber "irgendwann" ist eben das Problem.
        Ich wüsste es gerne sofort.

        Also sobald man einen Datenpunkt verschiebt/ändert/löscht, könnte der JS Adapter einen Trigger zur Syntaxprüfung bekommen und umgehend grafisch oder auch im Log mitteilen das ein DP vermisst wird.
        Im JS Adapter selbst könnte man dann das Skript farblich markieren.

        = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
        = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

        Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
        Glasfaser 400

        AlCalzoneA 1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          aleks-83
          schrieb am zuletzt editiert von aleks-83
          #7

          Github issues erstellt:

          Suggestion: Check syntax when datapoints are changed/moved/deleted. #416

          Exclude adapters from "upgrade all adapters" #452

          = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
          = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

          Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
          Glasfaser 400

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @Jan1 sagte in:

            somit könnte man das eben ach grafisch aufhübschen.

            Im Log oder welche Vorstellungen existieren ?

            J Offline
            J Offline
            Jan1
            schrieb am zuletzt editiert von
            #8

            @paul53
            So wie es @aleks-83 geschrieben hat. Da er doch das selbe meint wie ich. Log auswerten und eine grafische Anzeige die die Farbe wechselt und eventuell auch gleich noch die Herkunft des Fehler meldet.

            1 Antwort Letzte Antwort
            0
            • A aleks-83

              So war das nicht ganz gemeint.

              Wenn es im Log auftaucht sehe ich es ja auch irgendwann.
              Aber "irgendwann" ist eben das Problem.
              Ich wüsste es gerne sofort.

              Also sobald man einen Datenpunkt verschiebt/ändert/löscht, könnte der JS Adapter einen Trigger zur Syntaxprüfung bekommen und umgehend grafisch oder auch im Log mitteilen das ein DP vermisst wird.
              Im JS Adapter selbst könnte man dann das Skript farblich markieren.

              AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              schrieb am zuletzt editiert von
              #9

              @aleks-83 Wie ich auch auf Github geschrieben habe, eine Referenz auf einen nicht vorhandenen Datenpunkt zu erkennen ist alles andere als trivial. Der Code selbst hat nämlich noch valide Syntax (im Skript ist es einfach nur eine Zeichenkette") - ein nicht existenter DP wird erst bei der Ausführung erkannt.

              Was ggf. gehen würde: Im JS-Controller den Fehlern für "State/Object existiert nicht" einen bestimmten Fehler-Code zuweisen und im Skript-Adapter darauf reagieren, wenn dieser Code aufgetreten ist, z.B. durch Markieren des Skriptes als fehlerhaft. Aber auch das wird erst passieren, wenn der Fehler auftritt.

              /cc @apollon77 @Bluefox

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

              1 Antwort Letzte Antwort
              0
              • sigi234S Online
                sigi234S Online
                sigi234
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #10

                https://forum.iobroker.net/topic/25846/script-info-über-datenpunkte-sammeln

                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Immer Daten sichern!

                paul53P 1 Antwort Letzte Antwort
                0
                • sigi234S sigi234

                  https://forum.iobroker.net/topic/25846/script-info-über-datenpunkte-sammeln

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

                  @sigi234
                  Dieses Skript findet keine gelöschten Datenpunkte.

                  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

                  sigi234S 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @sigi234
                    Dieses Skript findet keine gelöschten Datenpunkte.

                    sigi234S Online
                    sigi234S Online
                    sigi234
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #12

                    @paul53 sagte in Verbesserungsvorschläge ioBroker:

                    Dieses Skript findet keine gelöschten Datenpunkte.

                    Kann man das einbauen?

                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Immer Daten sichern!

                    paul53P liv-in-skyL 2 Antworten Letzte Antwort
                    0
                    • sigi234S sigi234

                      @paul53 sagte in Verbesserungsvorschläge ioBroker:

                      Dieses Skript findet keine gelöschten Datenpunkte.

                      Kann man das einbauen?

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

                      @sigi234 sagte:

                      Kann man das einbauen?

                      Nein, was weg ist, kann nachträglich nicht mehr (per $Selector) gefunden werden.

                      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
                      • sigi234S sigi234

                        @paul53 sagte in Verbesserungsvorschläge ioBroker:

                        Dieses Skript findet keine gelöschten Datenpunkte.

                        Kann man das einbauen?

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von liv-in-sky
                        #14

                        @aleks-83
                        dafür (fehlende datenpunkte in scripts) könnte man doch das script von mic verwenden und nur auf solche fehler filter - anschliessend in der vis ein widget mit diesen fehlern und eine mail oder telegram - dann ist 's erledigt

                        https://forum.iobroker.net/topic/13971/vorlage-js-log-datei-aufbereiten-für-vis/210

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        A 1 Antwort Letzte Antwort
                        0
                        • liv-in-skyL liv-in-sky

                          @aleks-83
                          dafür (fehlende datenpunkte in scripts) könnte man doch das script von mic verwenden und nur auf solche fehler filter - anschliessend in der vis ein widget mit diesen fehlern und eine mail oder telegram - dann ist 's erledigt

                          https://forum.iobroker.net/topic/13971/vorlage-js-log-datei-aufbereiten-für-vis/210

                          A Offline
                          A Offline
                          aleks-83
                          schrieb am zuletzt editiert von aleks-83
                          #15

                          @liv-in-sky
                          So erspart man sich den Blick ins log, aber der Fehler muss trotzdem erst auftreten um von der "Log-Analyse" gefunden zu werden.
                          Das ist ja genau das wo mein Gedanke ansetzt: Ein Skript was gerade nicht läuft oder auf den Datenpunkt zugreift, meldet keinen fehlenden Datenpunkt.

                          Das Skript nutze ich bereits um mein (bereinigtes) Log auf der vis zu zeigen.

                          = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                          = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                          Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                          Glasfaser 400

                          AlCalzoneA 1 Antwort Letzte Antwort
                          0
                          • A aleks-83

                            @liv-in-sky
                            So erspart man sich den Blick ins log, aber der Fehler muss trotzdem erst auftreten um von der "Log-Analyse" gefunden zu werden.
                            Das ist ja genau das wo mein Gedanke ansetzt: Ein Skript was gerade nicht läuft oder auf den Datenpunkt zugreift, meldet keinen fehlenden Datenpunkt.

                            Das Skript nutze ich bereits um mein (bereinigtes) Log auf der vis zu zeigen.

                            AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            schrieb am zuletzt editiert von AlCalzone
                            #16

                            @aleks-83 Um fehlende Datenpunkt zu finden, müsste die Check-Logik den Skript-Code verstehen, d.h. sie müsste wissen, welche Variablen oder Literale einen Datenpunkt referenzieren. Das kann recht schnell beliebig kompliziert werden:

                            const wasistdas = "adapter.0.dpname";
                            
                            // irgendwo ganz anders z.B. in einem Callback:
                            const einwert = getState(wasistdas).val;
                            

                            Allein hier müsste die Logik schon verstehen, dass...
                            ... getState Datenpunkte liest
                            ... wasistdas die ID des Datenpunkts darstellt
                            ... wasistdas eine Konstante ist
                            ... wo diese definiert ist
                            ... welchen Wert diese hat
                            um überhaupt prüfen zu können, ob der DP existiert.

                            Noch ein paar kleine Änderungen und die Prüfung ist quasi unmöglich zu realisieren:

                            let namespace = "adapter.0";
                            const dpname = "wasistdas";
                            
                            setTimeout(() => namespace = "anderer-adapter.1", 1000);
                            
                            // wird irgendwann ausgeführt, z.B. als Reaktion auf einen anderen DP:
                            const einwert = getState(namespace + "." + "dpname").val;
                            

                            Jetzt ist nicht nur die Frage, welchen Wert namespace hat, sondern auch wann es welchen Wert hat.

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

                            1 Antwort Letzte Antwort
                            1
                            • A Offline
                              A Offline
                              aleks-83
                              schrieb am zuletzt editiert von aleks-83
                              #17

                              OK.
                              Den Code verstehe ich nicht, aber ich weiß was du meinst.
                              Ich spreche aber auch erst mal nur von Datenpunkten die direkt abgesprochen werden.
                              Wenn sie erst mal in ne Variable verpackt sind, wird es schwierig, das glaube ich...

                              Im JavaScript Adapter gibt es aber doch die Möglichkeit, Datenpunkte auf Vorhandensein zu prüfen, richtig?
                              Ich arbeite nur mit Klicki-Bunti Blockly und da finde ich sowas nicht.

                              Der JS Adapter könnte ja dann, jedes Mal wenn ich ein Skript anlege, die darin verwendeten Datenpunkte in einem globalen Skript, was zyklisch ausgeführt wird, auf Vorhandensein prüfen.
                              Wenn das nicht automatisch geht, müsste man das von Hand machen.
                              Dann bleibe mein Vorschlag immer noch ein Vorschlag für ein gutes Skript!?

                              So mein "Nichtprogrammierer"-Gedanke :grimacing:

                              = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                              = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                              Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                              Glasfaser 400

                              AlCalzoneA 1 Antwort Letzte Antwort
                              0
                              • A aleks-83

                                OK.
                                Den Code verstehe ich nicht, aber ich weiß was du meinst.
                                Ich spreche aber auch erst mal nur von Datenpunkten die direkt abgesprochen werden.
                                Wenn sie erst mal in ne Variable verpackt sind, wird es schwierig, das glaube ich...

                                Im JavaScript Adapter gibt es aber doch die Möglichkeit, Datenpunkte auf Vorhandensein zu prüfen, richtig?
                                Ich arbeite nur mit Klicki-Bunti Blockly und da finde ich sowas nicht.

                                Der JS Adapter könnte ja dann, jedes Mal wenn ich ein Skript anlege, die darin verwendeten Datenpunkte in einem globalen Skript, was zyklisch ausgeführt wird, auf Vorhandensein prüfen.
                                Wenn das nicht automatisch geht, müsste man das von Hand machen.
                                Dann bleibe mein Vorschlag immer noch ein Vorschlag für ein gutes Skript!?

                                So mein "Nichtprogrammierer"-Gedanke :grimacing:

                                AlCalzoneA Offline
                                AlCalzoneA Offline
                                AlCalzone
                                Developer
                                schrieb am zuletzt editiert von
                                #18

                                @aleks-83 sagte in Verbesserungsvorschläge ioBroker:

                                Im JavaScript Adapter gibt es aber doch die Möglichkeit, Datenpunkte auf Vorhandensein zu prüfen, richtig?

                                Nein.

                                Dann bleibe mein Vorschlag immer noch ein Vorschlag für ein gutes Skript!?

                                Wie ich schon schrieb (ich glaube im Issue), das wäre durchaus sinnvoll, aber dann musst du dem Skript immer noch sagen, welche Datenpunkte es prüfen soll. Daher ist IMO die sinnvollste (und am ehesten machbare) Variante:

                                1. Definiere alle Datenpunkt-IDs als erstes im Skript
                                2. Prüfe beim Skriptstart die Existenz aller nötigen Datenpunkte
                                3. Wenn alle existieren, führe die restliche Skriptlogik aus.

                                Punkt 2 könnte man auch in Form eines Prüfskripts tun, welches sich den Quellcode der übrigen Skripte holt, die zu Beginn definierten DPs ausliest und prüft, ob diese existieren. Das setzt aber eine gewisse Disziplin und Konsistenz beim Definieren der DPs in den übrigen Skripten voraus.
                                Dieses Prüfskript sollte unter keinen Umständen global sein, da es ja sonst in jedes andere Skript eingefügt wird.

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

                                1 Antwort Letzte Antwort
                                0
                                • A Offline
                                  A Offline
                                  aleks-83
                                  schrieb am zuletzt editiert von
                                  #19

                                  Hmmm. Irgendwie verzwickt...

                                  = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                  = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                                  Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                  Glasfaser 400

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

                                    Ist das nicht ein bisschen zu kurz gesprungen. Wenn mir z.B. ein Tür/Fenster-Kontakt abraucht und ich ihn durch einen neuen ersetze, dann muss ich z.Zt endlost suchen: Scripte, Vis, Szenen, Diagramme, sogar im shuttercontrol Adapter... Mag ja sein, dass es irgendwelche Dokumentations Asse gibt, die das alles nachgehalten haben, aber für mich ist das eine extrem nervige Sache.
                                    Was helfen würde, wäre eine 'where used' Funktion bei den Objekten. Vlt ein extra Reiter im 'Edit Fenster'.
                                    Ich weiss nicht genau, was die neue Alias Funktion in dem Zusammenhang bietet, vlt ist das die Lösung?

                                    AlCalzoneA 1 Antwort Letzte Antwort
                                    0
                                    • OstfrieseUnterwegsO OstfrieseUnterwegs

                                      Ist das nicht ein bisschen zu kurz gesprungen. Wenn mir z.B. ein Tür/Fenster-Kontakt abraucht und ich ihn durch einen neuen ersetze, dann muss ich z.Zt endlost suchen: Scripte, Vis, Szenen, Diagramme, sogar im shuttercontrol Adapter... Mag ja sein, dass es irgendwelche Dokumentations Asse gibt, die das alles nachgehalten haben, aber für mich ist das eine extrem nervige Sache.
                                      Was helfen würde, wäre eine 'where used' Funktion bei den Objekten. Vlt ein extra Reiter im 'Edit Fenster'.
                                      Ich weiss nicht genau, was die neue Alias Funktion in dem Zusammenhang bietet, vlt ist das die Lösung?

                                      AlCalzoneA Offline
                                      AlCalzoneA Offline
                                      AlCalzone
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #21

                                      @OstfrieseUnterwegs sagte in Verbesserungsvorschläge ioBroker:

                                      Ich weiss nicht genau, was die neue Alias Funktion in dem Zusammenhang bietet, vlt ist das die Lösung?

                                      Soweit ich weiß ist sie für genau sowas gedacht.

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

                                      OstfrieseUnterwegsO 1 Antwort Letzte Antwort
                                      0
                                      • AlCalzoneA AlCalzone

                                        @OstfrieseUnterwegs sagte in Verbesserungsvorschläge ioBroker:

                                        Ich weiss nicht genau, was die neue Alias Funktion in dem Zusammenhang bietet, vlt ist das die Lösung?

                                        Soweit ich weiß ist sie für genau sowas gedacht.

                                        OstfrieseUnterwegsO Offline
                                        OstfrieseUnterwegsO Offline
                                        OstfrieseUnterwegs
                                        schrieb am zuletzt editiert von
                                        #22

                                        @AlCalzone sagte in Verbesserungsvorschläge ioBroker:

                                        @OstfrieseUnterwegs sagte in Verbesserungsvorschläge ioBroker:

                                        Ich weiss nicht genau, was die neue Alias Funktion in dem Zusammenhang bietet, vlt ist das die Lösung?

                                        Soweit ich weiß ist sie für genau sowas gedacht.

                                        Das wäre super. Dann werd ich mich mal damit befassen. Danke.

                                        1 Antwort Letzte Antwort
                                        1
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        391

                                        Online

                                        32.5k

                                        Benutzer

                                        81.7k

                                        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