Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [Neuer Adapter] smartstate

    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

    [Neuer Adapter] smartstate

    This topic has been deleted. Only users with topic management privileges can see it.
    • BananaJoe
      BananaJoe Most Active @ChriD last edited by BananaJoe

      @chrid sagte in [Neuer Adapter] smartstate:

      https://github.com/ChriD/ioBroker.smartstate

      War schnell eingerichtet ... ich wollte damit meine ZigBee Geräte zählen welche nicht verbunden sind,
      Pattern ist

      zigbee.*.*.available
      

      Da der Datenpunkt true ist wenn das Gerät verbunden ist habe ich so natürlich nur alle verbundenen Geräte gezählt.
      Pfft wie würde ich denn alle false Werte zusammenzählen?
      595d15c2-0d9d-497a-992a-95419200bf2d-image.png

      C 2 Replies Last reply Reply Quote 0
      • C
        ChriD @wendy2702 last edited by

        @wendy2702 said in [Neuer Adapter] smartstate:

        @chrid Meinst du z.B. das Lichterzählen Script ?

        Ja

        1 Reply Last reply Reply Quote 0
        • C
          ChriD @BananaJoe last edited by

          @bananajoe
          Danke für die Rückmeldung!
          Im Hintergrund habe ich grundsätzlich dafür schon eine Funktion eingebaut dass man den Rückgabewert des oder der states (pattern) anpassen kann. D.h du würdest dann in der Pattern Zeile noch ein Feld haben wo du dann einfach "value = !value" reinschreiben könntest. Das ist halt aber wirklich ein Feld wo man im Endeffekt validen javascript code reinschreiben müsste.

          Oder hättest du eine Idee wie man das schöner bzw. Userfreundlicher lösen könnte?

          BananaJoe OliverIO 2 Replies Last reply Reply Quote 0
          • C
            ChriD @BananaJoe last edited by

            @bananajoe

            Hab das Feld eingeblendet. Wenn du das neu vom github installierst kannst du dort dann
            return !value eingeben. Dann werden die true in false und die false in true umgewandelt bevor sie in der Berechnung benutzt werden

            d6c88924-f750-4717-8bbd-026eb987de09-image.png

            Neuschwansteini 1 Reply Last reply Reply Quote 0
            • Neuschwansteini
              Neuschwansteini @ChriD last edited by

              @chrid super, der Adapter funktioniert hier einwandfrei. Dankeschoen!

              1 Reply Last reply Reply Quote 0
              • BananaJoe
                BananaJoe Most Active @ChriD last edited by

                @chrid sagte in [Neuer Adapter] smartstate:

                Das ist halt aber wirklich ein Feld wo man im Endeffekt validen javascript code reinschreiben müsste.

                1. funktioniert einwandfrei - Danke
                2. Ein mächtiges Schwert mit dem JavaScript-Code. Damit könnte man ja auch Umwandlungen usw. machen

                Eine Anmerkung zum Feld Pfad; - Was ich da Eintrage erscheint als Name am Datenpunkt, richtig? Wäre dann nicht Name: ein besserer Begriff?

                C 1 Reply Last reply Reply Quote 0
                • C
                  ChriD @BananaJoe last edited by ChriD

                  @bananajoe said in [Neuer Adapter] smartstate:

                  Eine Anmerkung zum Feld Pfad; - Was ich da Eintrage erscheint als Name am Datenpunkt, richtig? Wäre dann nicht Name: ein besserer Begriff?

                  Also eigentlich sollte der "Pfad" Eintrag eine Hilfe zur Erstellung einer Substruktur in der Objektliste sein.
                  7a9c9ca2-2f00-4044-96c8-3a7f73412cae-image.png

                  Kann auch "mehrstufig" sein. (licht.zaehler)
                  0d8215cb-42ea-46b7-8d6d-202b7736cf63-image.png
                  Aber da sehe ich gerade das bei Mehrstufigkeit noch ein kleines Problem ist und er ein bisschen zuviel "Ordner" anlegt.

                  Wäre "Name" dafür der gebräuchliche Begriff hier? Mir ist halt nichts besseres als Pfad eingefallen. Vll. "Struktur"?
                  Und "Name" gibt es eigentlich schon in den Einstellungen

                  1 Reply Last reply Reply Quote 0
                  • BananaJoe
                    BananaJoe Most Active last edited by

                    Öhm, man hat doch schon die (Objekt-)ID
                    Und Pfad sollte dann was? Davor noch einmal einen Unterordner anlegen?

                    C 1 Reply Last reply Reply Quote 0
                    • C
                      ChriD @BananaJoe last edited by

                      @bananajoe
                      Ja so habe ich mir das gedacht. Denn die ObjektId generiert sich ja grundsätzlich automatisch aus dem Namen. Und wenn ich jetzt den State/ObjektId strukturiert in einem Unterordner haben will müsste ich die Objekt-Id abändern auf "unterordner.objektid". So könnte ich das auch lösen und den Pfad dann weglassen, mit extra Setting für den Pfad geht er aber nicht verloren wenn du die ObjektId neu aus dem Namen berechnen lässt und ich dachte mir das wäre angenehmer zum bedienen

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

                        Aber ich sehe das richtig das ich nur die Anzahl der z.B. offenen Fenster, eingeschalteten Lichter oder was auch immer sehe und nicht welche genau, oder?

                        C BananaJoe 2 Replies Last reply Reply Quote 0
                        • C
                          ChriD @wendy2702 last edited by

                          @wendy2702
                          Ja, das war grundsätzlich das Ziel des Adapters. Der geht nur auf den Wert der Statis. Aber wenn der Wunsch besteht das umzusetzen kann ich mir das mal ansehen. Ich wüsste jetzt nur nicht wie man das in den Settings einstellen und wie das aussehen sollte

                          1 Reply Last reply Reply Quote 0
                          • BananaJoe
                            BananaJoe Most Active @wendy2702 last edited by BananaJoe

                            @wendy2702 sagte in [Neuer Adapter] smartstate:

                            Aber ich sehe das richtig das ich nur die Anzahl der z.B. offenen Fenster, eingeschalteten Lichter oder was auch immer sehe und nicht welche genau, oder?

                            Du kannst die Anzahl der offenen und geschlossenen Fenster sehen. Und ob alle zu oder noch ein oder mehr offen (als true/false).

                            @ChriD ein weiterer Datenpunkt der einen dann eine Liste erstellt mit allen offenen oder geschlossenen Fenster wäre was. Ich würde ja als JSON bevorzugen. Das könnte per Widget flexibel in der VIS anzeigen lassen oder in eigenen Skripten weiterverarbeiten.
                            Die Frage ist das dann dann noch alles in diese Liste soll. Die Objekt-Id, der Name des Gerätes?

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

                              Hi,

                              um beim Fenster/Licht Beispiel zu bleiben.

                              Angabe was z.B. offen/zu an/aus... oder was auch immer ist wuerde aus meiner Sicht schon sinn machen. Alleine die Anzahl der Geraete nutzt mir persoenlich nicht soviel. Muss ja dann doch wieder noch woanders gucken welche es sind.

                              C Neuschwansteini 2 Replies Last reply Reply Quote 0
                              • C
                                ChriD @wendy2702 last edited by

                                @wendy2702
                                Hab's mir als isue im guthub hinzugefügt. Werde ich in den nächsten Tagen umsetzen.
                                Es wird vmtl. ein Häkchen am State geben welcher angibt ob die Statusinfos zur Berechnung in einem Eignen Objekt landen sollen. Die ID dafür wird vom Smartstate autom. abgeleitet.
                                Wie ich den Inhalt befülle bin ich mir noch nicht sicher. Vll. auch mit einer vom User auswählbaren Option (JSON State Object, JSON State Array, JSON Id Array, Id String (Strichpunktgetrennt)).

                                Oder habt ihr da noch Ideen? Genügt ein JSON Array mit den states?

                                wendy2702 1 Reply Last reply Reply Quote 0
                                • wendy2702
                                  wendy2702 @ChriD last edited by

                                  @chrid Hört sich gut an.

                                  Danke!

                                  1 Reply Last reply Reply Quote 0
                                  • Neuschwansteini
                                    Neuschwansteini @wendy2702 last edited by

                                    @wendy2702 @ChriD

                                    Hi der Adapter funktioniert gut, aber wenn du noch den Namen ausgeben könntest, wäre das super.
                                    Wie Wendy2702 schon sagte, man muss ja wissen, welche Fenster/Türen offen oder welche Devices offline sind, oder was man auch immer damit zählen mag.. 🙂

                                    C 1 Reply Last reply Reply Quote 0
                                    • C
                                      ChriD @Neuschwansteini last edited by

                                      @ilovegym @wendy2702 @BananaJoe
                                      Es gibt jetzt eine neue Version git & npm. Bitte bei Gelegenheit mal schauen ob ihr damit zurecht kommt. Beschreibung zur neuen Funktionalität gibts hier:
                                      https://github.com/ChriD/ioBroker.smartstate#using-the-state-info-type

                                      BananaJoe 1 Reply Last reply Reply Quote 1
                                      • BananaJoe
                                        BananaJoe Most Active @ChriD last edited by

                                        @chrid

                                        2023-02-07 19:22:36.514  - error: smartstate.0 (1886549) uncaught exception: id is not defined
                                        2023-02-07 19:22:36.518  - error: smartstate.0 (1886549) ReferenceError: id is not defined
                                            at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.smartstate/main.js:568:2)
                                            at Module._compile (node:internal/modules/cjs/loader:1165:14)
                                            at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
                                            at Module.load (node:internal/modules/cjs/loader:1043:32)
                                            at Function.Module._load (node:internal/modules/cjs/loader:878:12)
                                            at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
                                            at node:internal/main/run_main_module:22:47
                                        2023-02-07 19:22:36.519  - error: smartstate.0 (1886549) id is not defined
                                        2023-02-07 19:22:37.022  - warn: smartstate.0 (1886549) Terminated (UNCAUGHT_EXCEPTION): Without reason
                                        2023-02-07 19:22:38.793  - warn: smartstate.0 (1886549) Unable to increase LUA script timeout: Connection is closed.
                                        2023-02-07 19:22:39.071  - error: host.iobroker instance system.adapter.smartstate.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                                        2023-02-07 19:22:39.071  - info: host.iobroker Restart adapter system.adapter.smartstate.0 because enabled
                                        2023-02-07 19:22:48.824  - info: admin.2 (1701438) ==> Connected system.user.admin from 192.168.1.32
                                        2023-02-07 19:23:09.381  - info: host.iobroker instance system.adapter.smartstate.0 started with pid 1887274
                                        2023-02-07 19:23:10.598  - error: smartstate.0 (1887274) uncaught exception: id is not defined
                                        2023-02-07 19:23:10.601  - error: smartstate.0 (1887274) ReferenceError: id is not defined
                                            at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.smartstate/main.js:568:2)
                                            at Module._compile (node:internal/modules/cjs/loader:1165:14)
                                            at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
                                            at Module.load (node:internal/modules/cjs/loader:1043:32)
                                            at Function.Module._load (node:internal/modules/cjs/loader:878:12)
                                            at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
                                            at node:internal/main/run_main_module:22:47
                                        2023-02-07 19:23:10.602  - error: smartstate.0 (1887274) id is not defined
                                        2023-02-07 19:23:11.110  - warn: smartstate.0 (1887274) Terminated (UNCAUGHT_EXCEPTION): Without reason
                                        2023-02-07 19:23:11.775  - error: smartstate.0 (1887274) uncaught exception: Connection is closed.
                                        2023-02-07 19:23:11.777  - error: smartstate.0 (1887274) Error: Connection is closed.
                                            at close (/opt/iobroker/node_modules/ioredis/built/redis/event_handler.js:184:25)
                                            at Socket.<anonymous> (/opt/iobroker/node_modules/ioredis/built/redis/event_handler.js:151:20)
                                            at Object.onceWrapper (node:events:628:26)
                                            at Socket.emit (node:events:513:28)
                                            at TCP.<anonymous> (node:net:301:12)
                                        2023-02-07 19:23:11.781  - error: smartstate.0 (1887274) Connection is closed.
                                        2023-02-07 19:23:12.261  - error: host.iobroker instance system.adapter.smartstate.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                                        2023-02-07 19:23:12.263  - info: host.iobroker Restart adapter system.adapter.smartstate.0 because enabled
                                        2023-02-07 19:23:42.528  - info: host.iobroker instance system.adapter.smartstate.0 started with pid 1887422
                                        2023-02-07 19:23:43.517  - error: smartstate.0 (1887422) uncaught exception: id is not defined
                                        2023-02-07 19:23:43.519  - error: smartstate.0 (1887422) ReferenceError: id is not defined
                                            at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.smartstate/main.js:568:2)
                                            at Module._compile (node:internal/modules/cjs/loader:1165:14)
                                            at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
                                            at Module.load (node:internal/modules/cjs/loader:1043:32)
                                            at Function.Module._load (node:internal/modules/cjs/loader:878:12)
                                            at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
                                            at node:internal/main/run_main_module:22:47
                                        2023-02-07 19:23:43.520  - error: smartstate.0 (1887422) id is not defined
                                        2023-02-07 19:23:44.022  - warn: smartstate.0 (1887422) Terminated (UNCAUGHT_EXCEPTION): Without reason
                                        2023-02-07 19:23:44.716  - error: host.iobroker instance system.adapter.smartstate.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                                        2023-02-07 19:23:44.717  - info: host.iobroker Restart adapter system.adapter.smartstate.0 because enabled
                                        2023-02-07 19:23:44.717  - warn: host.iobroker Do not restart adapter system.adapter.smartstate.0 because restart loop detected
                                        
                                        
                                        BananaJoe 1 Reply Last reply Reply Quote 0
                                        • BananaJoe
                                          BananaJoe Most Active @BananaJoe last edited by

                                          @bananajoe
                                          ok, einmal gelöscht und neu anlegen ...
                                          0279740e-c745-47ea-9cce-627a53dd9a52-image.png

                                          Immer noch Fehler:

                                          2023-02-07 19:26:00.559  - error: smartstate.0 (1888687) id is not defined
                                          2023-02-07 19:26:01.061  - warn: smartstate.0 (1888687) Terminated (UNCAUGHT_EXCEPTION): Without reason
                                          2023-02-07 19:26:01.744  - error: host.iobroker instance system.adapter.smartstate.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                                          2023-02-07 19:26:01.746  - info: host.iobroker Do not restart adapter system.adapter.smartstate.0 because disabled or deleted
                                          2023-02-07 19:27:44.398  - info: admin.2 (1701438) <== Disconnect system.user.admin from 192.168.1.32
                                          2023-02-07 19:28:01.423  - info: host.iobroker "system.adapter.smartstate.0" enabled
                                          2023-02-07 19:28:02.529  - info: host.iobroker instance system.adapter.smartstate.0 started with pid 1890004
                                          2023-02-07 19:28:03.725  - error: smartstate.0 (1890004) uncaught exception: id is not defined
                                          2023-02-07 19:28:03.727  - error: smartstate.0 (1890004) ReferenceError: id is not defined
                                              at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.smartstate/main.js:568:2)
                                              at Module._compile (node:internal/modules/cjs/loader:1165:14)
                                              at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
                                              at Module.load (node:internal/modules/cjs/loader:1043:32)
                                              at Function.Module._load (node:internal/modules/cjs/loader:878:12)
                                              at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
                                              at node:internal/main/run_main_module:22:47
                                          
                                          
                                          C 1 Reply Last reply Reply Quote 0
                                          • OliverIO
                                            OliverIO @ChriD last edited by

                                            @chrid sagte in [Neuer Adapter] smartstate:

                                            Im Hintergrund habe ich grundsätzlich dafür schon eine Funktion eingebaut dass man den Rückgabewert des oder der states (pattern) anpassen kann. D.h du würdest dann in der Pattern Zeile noch ein Feld haben wo du dann einfach "value = !value" reinschreiben könntest. Das ist halt aber wirklich ein Feld wo man im Endeffekt validen javascript code reinschreiben müsste.
                                            Oder hättest du eine Idee wie man das schöner bzw. Userfreundlicher lösen könnte?

                                            Als Ankreuzfeld in den Einstellungen. bspw Wert negieren.

                                            Du müsstest ja durch das Pattern sowieso ermitteln wieviel Datenpunkte selektiert werden.
                                            Wenn von 10 Geräten 4 an sind, dann ergibt ohne Kreuz das Ergebnis 4
                                            und mit ankreuzen 10-4 = 6

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            823
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            34
                                            2301
                                            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