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.
    • C
      ChriD last edited by

      Aktuelle Test Version 0.0.1
      Veröffentlichungsdatum 24.01.2023
      Github Link https://github.com/ChriD/ioBroker.smartstate

      Hi.
      Habe einen neuen Adapter erstellt um states anhand von anderen states zu erstellen. Meine Intention war das ich states haben wollte welche mir z.B. die Anzahl der eingeschalteten Lichter repräsentiert bzw. ob ein Licht einer Gruppe eingeschalten ist.
      Ich weiß das es dazu ein 'script' gibt welches dies z.B. schon macht, aber dazu muss man Räume usw. definieren. Das wollte ich nicht und ich wollte es übersichtlich in einem Adapter haben. Vll. ist er ja für jemanden nützlich. (Einen adapter der schon so etwas , macht habe ich nicht gefunden)

      Wäre über Tester und Rückmeldungen bzw. Verbesserungsvorschläge sehr erfreut.
      Installation derzeit nur über Github.
      Beschreibung siehe https://github.com/ChriD/ioBroker.smartstate
      Aufnahme in stable repo erfolgt später.

      Danke & LG
      Christian

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

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

        C 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            615
                                            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