Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Datenpunkte mit custom erstellen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Datenpunkte mit custom erstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active last edited by dslraser

      Hallo Zusammen,
      ich lasse mir per Script Datenpunkte erstellen und bei Bedarf auch wieder löschen. Nun habe ich gerade probiert, und es funktioniert auch, mir direkt custom "Einstellungen" für z.B. iQontrol mit erstellen zu lassen.
      Was passiert eigentlich wenn Jemand kein z.B. iQontrol installiert hat und würde das Script nutzen ? Gibt es dann Fehler ? Kann mann das im Script mit prüfen, ob eine iQontrol Instanz besteht ?
      Ich nutze das Script von @Mic zum Datenpunkte erstellen.

      https://github.com/Mic-M/iobroker-createUserStates

      F 1 Reply Last reply Reply Quote 0
      • F
        fastfoot @dslraser last edited by

        @dslraser sagte in Datenpunkte mit custom erstellen:

        Hallo Zusammen,
        ich lasse mir per Script Datenpunkte erstellen und bei Bedarf auch wieder löschen. Nun habe ich gerade probiert, und es funktioniert auch, mir direkt custom "Einstellungen" für z.B. iQontrol mit erstellen zu lassen.
        Was passiert eigentlich wenn Jemand kein z.B. iQontrol installiert hat und würde das Script nutzen ? Gibt es dann Fehler ? Kann mann das im Script mit prüfen, ob eine iQontrol Instanz besteht ?
        Ich nutze das Script von @Mic zum Datenpunkte erstellen.

        Ob es Fehler gibt hängt sicher davon ab, was das Skript tut. Ich würde das Vorhandensein einer Instanz so prüfen, weiß aber nicht ob es einen 'besseren' Weg gibt.

        let instanz_vorhanden = $('system.adapter.iQontrol*').length>0;
        log(instanz_vorhanden)
        
        Mic 1 Reply Last reply Reply Quote 1
        • Mic
          Mic Developer @fastfoot last edited by

          @fastfoot sagte in Datenpunkte mit custom erstellen:

          @dslraser sagte in Datenpunkte mit custom erstellen:

          Hallo Zusammen,
          ich lasse mir per Script Datenpunkte erstellen und bei Bedarf auch wieder löschen. Nun habe ich gerade probiert, und es funktioniert auch, mir direkt custom "Einstellungen" für z.B. iQontrol mit erstellen zu lassen.
          Was passiert eigentlich wenn Jemand kein z.B. iQontrol installiert hat und würde das Script nutzen ? Gibt es dann Fehler ? Kann mann das im Script mit prüfen, ob eine iQontrol Instanz besteht ?
          Ich nutze das Script von @Mic zum Datenpunkte erstellen.

          Ob es Fehler gibt hängt sicher davon ab, was das Skript tut. Ich würde das Vorhandensein einer Instanz so prüfen, weiß aber nicht ob es einen 'besseren' Weg gibt.

          let instanz_vorhanden = $('system.adapter.iQontrol*').length>0;
          log(instanz_vorhanden)
          

          Ich denke, das ist ein guter Weg 😉
          Also mit zB mit getObject abfragen, ob system.adapter.iqontrol.x existiert. Hab das auch in einem Adapter.
          https://github.com/Mic-M/ioBroker.smartcontrol/blob/f293e84a51263b4212de53ccad11718090d43002/lib/helper.js#L290

          F 1 Reply Last reply Reply Quote 1
          • F
            fastfoot @Mic last edited by

            @Mic sagte in Datenpunkte mit custom erstellen:

            @fastfoot sagte in Datenpunkte mit custom erstellen:

            let instanz_vorhanden = $('system.adapter.iQontrol*').length>0;
            log(instanz_vorhanden)
            

            Ich denke, das ist ein guter Weg 😉
            Also mit zB mit getObject abfragen, ob system.adapter.iqontrol.x existiert. Hab das auch in einem Adapter.
            https://github.com/Mic-M/ioBroker.smartcontrol/blob/f293e84a51263b4212de53ccad11718090d43002/lib/helper.js#L290

            Das gezeigte ist ein Selektor, getObject() braucht es da nicht. Eigentlich wird hier nur geprüft ob es (System-)Datenpunkte für einen Adapter gibt, man könnte auch direkt den .alive DP prüfen und falls vorhanden mit getState() prüfen ob wahr oder falsch. Interessant wäre evtl noch der .connected

            dslraser Mic 2 Replies Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active @fastfoot last edited by

              @fastfoot
              Ich denke ich probiere das morgen mal. Ich habe nur kein Testsystem und wollte nicht unbedingt meine iQontrol Instanz löschen, aber ich kann mir ja mal eine zweite Instanz zum testen anlegen (iQontrol.1) und versuchen auf diese zu prüfen und auch wieder löschen.
              Danke für Eure Ideen.

              F 1 Reply Last reply Reply Quote 0
              • F
                fastfoot @dslraser last edited by fastfoot

                @dslraser sagte in Datenpunkte mit custom erstellen:

                @fastfoot
                Ich denke ich probiere das morgen mal. Ich habe nur kein Testsystem und wollte nicht unbedingt meine iQontrol Instanz löschen, aber ich kann mir ja mal eine zweite Instanz zum testen anlegen (iQontrol.1) und versuchen auf diese zu prüfen und auch wieder löschen.
                Danke für Eure Ideen.

                Du musst gar nichts installieren! Bei diesem Test geht es ja erstmal nur darum zu prüfen, ob ein Adapter installiert ist(hier: ob es dafür Datenpunkte gibt). Zum prüfen auf wahr gibtst du einfach einen installierten Adapter an, nach wahl mit oder ohne Instanz also zB $('system.adapter.ping.0.*'), zum Prüfen auf falsch reicht doch ein Phantasiename oder eine nicht existierende Instanz. der Selektor verändert ja nichts, es wird nur geprüft

                1 Reply Last reply Reply Quote 0
                • Mic
                  Mic Developer @fastfoot last edited by Mic

                  @fastfoot sagte in Datenpunkte mit custom erstellen:

                  @Mic sagte in Datenpunkte mit custom erstellen:

                  @fastfoot sagte in Datenpunkte mit custom erstellen:

                  let instanz_vorhanden = $('system.adapter.iQontrol*').length>0;
                  log(instanz_vorhanden)
                  

                  Ich denke, das ist ein guter Weg 😉
                  Also mit zB mit getObject abfragen, ob system.adapter.iqontrol.x existiert. Hab das auch in einem Adapter.
                  https://github.com/Mic-M/ioBroker.smartcontrol/blob/f293e84a51263b4212de53ccad11718090d43002/lib/helper.js#L290

                  Das gezeigte ist ein Selektor, getObject() braucht es da nicht. Eigentlich wird hier nur geprüft ob es (System-)Datenpunkte für einen Adapter gibt, man könnte auch direkt den .alive DP prüfen und falls vorhanden mit getState() prüfen ob wahr oder falsch. Interessant wäre evtl noch der .connected

                  Selektor ist echt unnötig hier, danke für den Hinweis 🙂 Für's Protokoll, im o.g. Adapter-Code prüfe ich nur auf Existenz, Stichwort hier "isRealAdapter", egal ob der gerade läuft oder nicht:
                  0bb4da4e-2b0f-49ea-ade8-3ce35226c399-image.png

                  Ist ansonsten halt die Frage, was man will (use case). Prüfung ob Adapter installiert vs. Prüfung ob Adapter auch gerade läuft vs. Status (gelb/rot/grün), etc. 😉

                  1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active last edited by

                    ich mache es jetzt so...
                    (so reicht mir das und es funktioniert)

                    let iqontrol_vorhanden =  'system.adapter.iqontrol'; //prüfen ob iqontol installiert ist
                    
                    if (existsObject(iqontrol_vorhanden) && //und hier noch andere Prüfungen
                    
                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    773
                    Online

                    31.8k
                    Users

                    80.0k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    548
                    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