Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Stolpersteine bei Adapterentwicklung (Shelly Adapter)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Stolpersteine bei Adapterentwicklung (Shelly Adapter)

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      BooosesThaSnipper last edited by

      Hi zusammen,

      ich versuche mich darin, dass ich mich bei der Entwicklung des Shelly Adapters beteilige. Das Shelly Plus Addon hab ich bereits erfolgreich implementieren können, nun hänge ich jedoch an einer Erweiterung des Plug S Plus.

      Hier möchte ich folgenden Issue angehen:
      https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/836

      Im Prinzip bin ich mit dem ganzen Thema bereits zu 80% fertig. Ich kann alle Infos auslesen und auch einige Werte schreiben, solange die sich im JSON nicht unter "switch:0" befinden. Beim lesen musste ich hier auch schon den Doppelpunkt escapen, so dass ich an den Wert ran gekommen bin:

      Nachfolgend mal die Ausgabe von "http://192.168.xxx.xxx/rpc/PLUGS_UI.GetConfig"

      {"leds":{"mode":"off","colors":{"switch:0":{"on":{"rgb":[100.000,100.000,100.000],"brightness":48.000},"off":{"rgb":[1.176,100.000,12.157],"brightness":48.000}},"power":{"brightness":97.000}},"night_mode":{"enable":false,"brightness":50.000,"active_between":["00:15","01:00"]}},"controls":{"switch:0":{"in_mode":"momentary"}}}
      

      Anbei mal ein Codeschnipsel mit meinen Problem. In Zeile 4 lese ich den Wert vom Shelly aus und dieser wird auch korrekt in den iobroker Objekten angelegt und aktualisiert. Nur Ändern kann ich den Wert nicht. Problem ist auch hier der Doppelpunkt bei "switch:0"
      Kann mir hier jemand unter die Arme greifen und mir einen Tipp geben, was ich in Zeile 11 anpassen muss, damit ich die Werte auch schreiben kann?

          'Leds.rgb_on_brightness': {
              mqtt: {
                  http_publish: '/rpc/PLUGS_UI.GetConfig',
                  http_publish_funct: value => value ? JSON.parse(value).leds.colors['switch:0'].on.brightness : undefined,
                  mqtt_cmd: '<mqttprefix>/rpc',
                  mqtt_cmd_funct: (value, self) => {
                      return JSON.stringify({
                          id: self.getNextMsgId(),
                          src: 'iobroker',
                          method: 'PLUGS_UI.SetConfig',
                          params: { config: { leds:{colors:{power:{'switch:0':{on:{brightness:value} } } } } } },
                      });
                  },
              },
              common: {
                  name: 'On color: Brightness',
                  type: 'number',
                  role: 'value',
                  read: true,
                  write: true,
                  min: 0,
                  max: 100,
              },
          },
      

      Häng hier bereits seit einigen Stunden fest und komme hier leider nicht weiter, daher der Versuch hier mal nach Hilfe zu Fragen! 🙂

      chris299 created this issue in iobroker-community-adapters/ioBroker.shelly

      closed Feature request - Shelly Plus Plug S: make LED light steering available in iobroker #836

      DJMarc75 paul53 OliverIO 3 Replies Last reply Reply Quote 1
      • DJMarc75
        DJMarc75 @BooosesThaSnipper last edited by

        @booosesthasnipper also wenn Du Entwickler bist dann ist das hier die absolut falsche Kategorie 😉

        B 1 Reply Last reply Reply Quote 0
        • B
          BooosesThaSnipper @DJMarc75 last edited by

          @djmarc75
          ich würde mich noch nicht als Entwickler bezeichnen 🙂 ich bin da noch gaaaaaaaaanz am Anfang.
          Im Entwickler Forum kann ich daher auch noch nicht schreiben, daher dachte ich, ich versuch es mal hier...?

          Falls es einen besseren Ort gibt, gerne Bescheid geben, dann würde ich es dort versuchen, bzw. einen Mod Fragen, dass er das Thema dorthin verschiebt.

          Homoran 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @BooosesThaSnipper last edited by

            @booosesthasnipper sagte: was ich in Zeile 11 anpassen muss

            Ich sehe nur, dass das Komma am Ende von Zeile 11 zu viel ist.

            Rolle "value" passt nicht zu

                        write: true,
            
            B 1 Reply Last reply Reply Quote 0
            • B
              BooosesThaSnipper @paul53 last edited by

              @paul53
              Danke für den Hinweis mit dem Komma. Hast du noch eine Idee wie das ganze nun mit dem Doppelpunkt funktioniert? So wie es aktuell ist, geht es ja leider nicht....

              Das mit dem Rolle und dem "Write: true" verstehe ich noch nicht ganz. Wenn ich mir Werte nicht nur anzeigen lassen möchte, sondern diese auch an den Shelly zurückschreiben möchte, muss ich ja im iobroker die Möglichkeit haben, dass die Werte dort geändert werden können, ansonsten geht das Fenster ja gar nicht auf, damit ich dort einen anderen Wert setzen kann?

              Wobei ich könnte aus "value" noch "value.brightness" in diesem Fall machen, da der iobroker hier ja eine bessere Alternative bietet.

              paul53 Jey Cee 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @BooosesThaSnipper last edited by paul53

                @booosesthasnipper sagte: Wenn ich mir Werte nicht nur anzeigen lassen möchte

                Dann ist die passende Rolle "level".

                @booosesthasnipper sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):

                So wie es aktuell ist, geht es ja leider nicht....

                Wirklich nicht?

                B 1 Reply Last reply Reply Quote 0
                • Jey Cee
                  Jey Cee Developer @BooosesThaSnipper last edited by Jey Cee

                  @booosesthasnipper sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):

                  muss ich ja im iobroker die Möglichkeit haben, dass die Werte dort geändert werden können,

                  Sicher die hast du auch. Nur sieht es so aus als suchst du die Antwort auf eine Frage die nur ein Entwickler geben kann, der sich mit dem Shelly Adapter auskennt.

                   params: { config: { leds:{colors:{power:{'switch:0':{on:{brightness:value} } } } } } },
                  

                  Das ist nämlich Speziell nur im Shelly Adapter so gelöst.

                  @haus-automatisierung kannst du hier weiter helfen?

                  B 1 Reply Last reply Reply Quote 1
                  • B
                    BooosesThaSnipper @paul53 last edited by

                    @paul53 sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):

                    Wirklich nicht?

                    Nein, wirklich nicht. An anderer Stelle funktioniert das ganze Problemlos, solange kein Doppelpunkt im JSON enthalten ist.

                        'Leds.mode': {
                            mqtt: {
                                http_publish: '/rpc/PLUGS_UI.GetConfig',
                                http_publish_funct: value => value ? JSON.parse(value).leds.mode : undefined,
                                mqtt_cmd: '<mqttprefix>/rpc',
                                mqtt_cmd_funct: (value, self) => {
                                    return JSON.stringify({
                                        id: self.getNextMsgId(),
                                        src: 'iobroker',
                                        method: 'PLUGS_UI.SetConfig',
                                        params: { config: { leds:{mode: value} } }
                                    });
                                },
                            },
                            common: {
                                name: 'LED indication mode',
                                type: 'string',
                                role: 'state',
                                read: true,
                                write: true,
                                states: {
                                    'power': 'power',
                                    'switch': 'switch',
                                    'off': 'off',
                                },
                            },
                        },
                    

                    Hier klappt das ganze Ohne Probleme oder hier auch:

                        'Leds.power_brightness': {
                            mqtt: {
                                http_publish: '/rpc/PLUGS_UI.GetConfig',
                                http_publish_funct: value => value ? JSON.parse(value).leds.colors.power.brightness : undefined,
                                mqtt_cmd: '<mqttprefix>/rpc',
                                mqtt_cmd_funct: (value, self) => {
                                    return JSON.stringify({
                                        id: self.getNextMsgId(),
                                        src: 'iobroker',
                                        method: 'PLUGS_UI.SetConfig',
                                        params: { config: { leds:{colors:{power:{brightness:value} } } } }
                                    });
                                },
                            },
                            common: {
                                name: 'Power consumption: Brightness',
                                type: 'number',
                                role: 'value.brightness',
                                read: true,
                                write: true,
                                min: 0,
                                max: 100,
                            },
                        },
                    
                    1 Reply Last reply Reply Quote 0
                    • B
                      BooosesThaSnipper @Jey Cee last edited by

                      @jey-cee sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):

                      Sicher die hast du auch. Nur sieht es so aus als suchst du die Antwort auf eine Frage die nur ein Entwickler geben kann, der sich mit dem Shelly Adapter auskennt.
                      Das ist nämlich Speziell nur im Shelly Adapter so gelöst.

                      @haus-automatisierung kannst du hier weiter helfen?

                      Ich hatte Matthias im Github Issue bereits angeschrieben gehabt vor 2 Wochen, jedoch keine Antwort erhalten. (Soll absolut kein Vorwurf sein - er hat ja auch andere Dinge zu tun). Daher dachte ich mal, ich frag mal hier nach.

                      haus-automatisierung 1 Reply Last reply Reply Quote 0
                      • haus-automatisierung
                        haus-automatisierung Developer Most Active @BooosesThaSnipper last edited by haus-automatisierung

                        @booosesthasnipper was genau habe ich nicht beantwortet?

                        @paul53 sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):

                        Ich sehe nur, dass das Komma am Ende von Zeile 11 zu viel ist.

                        Das ist schon richtig, sonst meckert eslint mit den Settings ("comma-dangle" / "always-multiline")

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          BooosesThaSnipper @haus-automatisierung last edited by

                          @haus-automatisierung sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):

                          @booosesthasnipper was genau habe ich nicht beantwortet?

                          https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/836#issuecomment-1762961674

                          Puh, du bist ja schnell 🙂
                          Ich hatte dort bereits mal die gleiche Frage gestellt gehabt... bin jedoch davon ausgegangen, dass du einfach noch nicht dazu gekommen bist....

                          chris299 created this issue in iobroker-community-adapters/ioBroker.shelly

                          closed Feature request - Shelly Plus Plug S: make LED light steering available in iobroker #836

                          haus-automatisierung mcm1957 2 Replies Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @BooosesThaSnipper last edited by

                            @booosesthasnipper Sorry, ich helfe gern bei der Adapter-Entwicklung, aber die JavaScript-Grundlagen kann ich dir im Issue nicht alle erklären 🙂

                            1 Reply Last reply Reply Quote 0
                            • mcm1957
                              mcm1957 @BooosesThaSnipper last edited by

                              @booosesthasnipper

                              Zuerst mal DANKE dass du bereit bist Zeit und Wissen für ioBroker und seine User zu inverstieren.

                              Wie schon früher angemerkt ist die Forumskategorie EINSTEIGER für Einsteiger in ioBroker (= primär User) gedacht. Um mit der Entwicklung zu beginnen, ist der Shelly Adapter sicher nicht erste Wahl - aber du bist auch gern dort gesehen, nur sei nicht frustriert wenn es nicht gleich klappt. (Ein KFZ Mechaniker wird auch nicht sein erstes Service an einem Formel 1 Rennwagen machen :-).

                              Für die Unterstützung bei der Entwicklung gibt es (u.a,) die Webseite https://www.iobroker.dev/
                              Ich empfehle für Einsteiger in die Adapterentwicklung unsere Telegramm Gruppen - insbesondere Telegram (Development Startes). Die links sind auf obiger Webseite.

                              f52226f5-710f-4618-b252-37eeb27c276e-image.png

                              Ansonsten ist Fragen im Forum natürlich erlaubt und zahlreiche Freiwillige helfen hier gerne. Je nach Thema (eher Entwicklung - eher Betrieb) kriegst du aber auf Telegramm schneller ne Antwort.

                              B 1 Reply Last reply Reply Quote 1
                              • B
                                BooosesThaSnipper @mcm1957 last edited by

                                @mcm57
                                Danke, ich les mich mal ein! 🙂

                                Beruflich bin ich halt eher auf der Operativen Seite als der Entwickler Seite aktiv. Da hab ich dann eher mit Puppet, Ansible und Bash Skripten zu tun.
                                Und klar, der Shelly Adapter ist vielleicht nicht die einfachste Einstieghürde, jedoch lernt man doch neue Sprachen nur, wenn man ein konkretes Problem hat das man lösen möchte 🙂

                                Homoran 1 Reply Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO @BooosesThaSnipper last edited by

                                  @booosesthasnipper

                                  könntest du das Problem mal eindampfen?
                                  Ich sehe hier objektstrukturen in Verbindung das es mit : im Namen nicht funktioniert und ohne schon.

                                  Was funktioniert den genau nicht?
                                  Gibt es eine Fehlermeldung?
                                  Bei welchem Befehl funktioniert es nicht?

                                  siehst du das problem eher bei iobroker,
                                  bei javascript? oder
                                  bei mqtt?

                                  wenn ich das auf der javascriptconsole im browser nachvollziehe gibt es keine probleme

                                  88247bdd-4096-4c30-b8d4-70d638a8abcd-image.png

                                  hast du versucht die einzelteile schonmal auseinanderzunehmen?
                                  evtl funktioniert parse schon nicht (wenn es dort ist wo ich vermute(

                                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @BooosesThaSnipper last edited by

                                    @booosesthasnipper sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):

                                    ich würde mich noch nicht als Entwickler bezeichnen ich bin da noch gaaaaaaaaanz am Anfang.

                                    dann ist es aber definitiv kei Einsteigerniveau

                                    https://forum.iobroker.net/topic/59411/hinweise-zu-dem-unterforum-einsteigerfragen/1

                                    1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @BooosesThaSnipper last edited by

                                      @booosesthasnipper ich hab das mal in die Entwicklerecke geschoben.
                                      Wenn du hier nicht schreiben kannst, bitte PN

                                      1 Reply Last reply Reply Quote 0
                                      • haus-automatisierung
                                        haus-automatisierung Developer Most Active @OliverIO last edited by

                                        @oliverio sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):

                                        Was funktioniert den genau nicht?

                                        Der Payload für den Shelly ist wahrscheinlich nicht richtig aufgebaut, sodass die Nachricht nicht verstanden wird. Der lesende Teil funktioniert ja schon.

                                        Laut Doku ist "power" dazwischen zuviel: https://shelly-api-docs.shelly.cloud/gen2/0.14/Devices/ShellyPlusPlugS#configuration

                                        params: { config: { leds: {colors: { 'switch:0':{ on:{ brightness:value} } } } } },
                                        
                                        B 1 Reply Last reply Reply Quote 0
                                        • B
                                          BooosesThaSnipper @haus-automatisierung last edited by

                                          @haus-automatisierung sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):

                                          Laut Doku ist "power" dazwischen zuviel: https://shelly-api-docs.shelly.cloud/gen2/0.14/Devices/ShellyPlusPlugS#configuration

                                          oh gott wie peinlich.... hab ich trotz 1000x lesen das komplett übersehen?

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          677
                                          Online

                                          31.7k
                                          Users

                                          79.8k
                                          Topics

                                          1.3m
                                          Posts

                                          8
                                          19
                                          899
                                          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