Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

SONOFF NSPanel mit Lovelace UI

Scheduled Pinned Locked Moved Hardware
lovelace uinspanelsonoff
7.7k Posts 271 Posters 6.7m Views 253 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D drloksoft

    @tt-tom Danke Tom.
    Ich bin damit einen Schritt weiter und habe ein neues DEVICE angelegt, in dem ich die Datenpunkte hinterlegt habe. Was mit beim DEVICE auffällt ist, dass nicht immer alles gespeichert wird, daher habe ich nun in den Objekten manuell nachgebesert. Ich kann nnun zumindest ein- und ausschalten und die Temperatur setzen. Wo ich noch überhaupt nicht durchblicke sind die Modus. Sind die in der TS fest verdrahtet? Mein AC hat anderes Mods als " case 'hvac_action':" mit BOOST PARTY AUTOMATIC etc annimmt.

    Mein MODE Datenpunkt sieht aktuell so aus:

    {
      "_id": "alias.0.NSPanel.wohnzimmer.AirConWohn.MODE",
      "native": {},
      "type": "state",
      "common": {
        "alias": {
          "id": {
            "read": "hass.0.entities.climate.106838462bc1.state",
            "write": "hass.0.entities.climate.106838462bc1.set_hvac_mode"
          }
        },
        "name": "MODE",
        "role": "level.mode.thermostat",
        "write": true,
        "states": {
          "off": "OFF",
          "auto": "AUTO",
          "cold": "COLD",
          "heat": "HEAT",
          "dry": "DRY"
        },
        "type": "string",
        "read": true
      },
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1729248946099
    }
    

    Jetzt stellt sich mir die Frage, wie ich das ins NSPanel gemappt bekomme.

    ArmilarA Offline
    ArmilarA Offline
    Armilar
    Most Active Forum Testing
    wrote on last edited by Armilar
    #6494

    @drloksoft

    871df602-549e-4c78-8f54-75c0fb2257de-image.png

    Wenn es ein Alias vom Typ Klimaanlage ist, gibt es einen DP "Mode". Da kannst du deine HVAC zuordnen (Stiftsymbol)

    da117384-80d1-4eed-8b22-5fc2b93ea659-image.png

    Also über den "hass.0.entities.climate.106838462bc1.set_hvac_mode"

    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
    https://github.com/joBr99/nspanel-lovelace-ui/wiki

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    D 1 Reply Last reply
    1
    • ArmilarA Armilar

      @drloksoft

      871df602-549e-4c78-8f54-75c0fb2257de-image.png

      Wenn es ein Alias vom Typ Klimaanlage ist, gibt es einen DP "Mode". Da kannst du deine HVAC zuordnen (Stiftsymbol)

      da117384-80d1-4eed-8b22-5fc2b93ea659-image.png

      Also über den "hass.0.entities.climate.106838462bc1.set_hvac_mode"

      D Offline
      D Offline
      drloksoft
      wrote on last edited by drloksoft
      #6495

      @armilar super, danke! Mit dem Typ AirCondition geht es! Ich komme voran!!

      Allerdings habe ich nun das Problem, dass immer alle Status anzeigt werden. Wenn die AirCondition eingeschaltet ist, ist zwar das Power Icon grün, aber der Zustand wird nicht farblich indiziert. Wenn ich das Zustandsicon für DRY anklicke, springt zwar die Klimaanlage auf DRY, aber im Feld:Zustand steht nach wie vor AUTO und das DRY Icon bleibt grau.

      b5c31ebc-77df-48c4-b3f7-1bbb68139354-image.png
      IMG_0205.jpeg

      Übrigens habe ich nun festgestellt, dass in Devices das Objekt als Thermostat angezeigt wird, während ich es unter Obejtcs ---> alias als AirCondition angezeigt bekomme. Darüber hinaus fehlt in DEVICES etwas von der Konfiguration. Ist das ein Bug?

      cb0aa02f-efd2-4569-abb8-7ff193c9ab53-image.png
      ad918beb-a030-4032-8c77-ba177674e6da-image.png

      1d2c52c7-4147-4b71-bb7f-df45b67584d5-image.png

      D 1 Reply Last reply
      0
      • D drloksoft

        @armilar super, danke! Mit dem Typ AirCondition geht es! Ich komme voran!!

        Allerdings habe ich nun das Problem, dass immer alle Status anzeigt werden. Wenn die AirCondition eingeschaltet ist, ist zwar das Power Icon grün, aber der Zustand wird nicht farblich indiziert. Wenn ich das Zustandsicon für DRY anklicke, springt zwar die Klimaanlage auf DRY, aber im Feld:Zustand steht nach wie vor AUTO und das DRY Icon bleibt grau.

        b5c31ebc-77df-48c4-b3f7-1bbb68139354-image.png
        IMG_0205.jpeg

        Übrigens habe ich nun festgestellt, dass in Devices das Objekt als Thermostat angezeigt wird, während ich es unter Obejtcs ---> alias als AirCondition angezeigt bekomme. Darüber hinaus fehlt in DEVICES etwas von der Konfiguration. Ist das ein Bug?

        cb0aa02f-efd2-4569-abb8-7ff193c9ab53-image.png
        ad918beb-a030-4032-8c77-ba177674e6da-image.png

        1d2c52c7-4147-4b71-bb7f-df45b67584d5-image.png

        D Offline
        D Offline
        drloksoft
        wrote on last edited by
        #6496

        Ich glaube, dass ich einen Schritt weiter bin. Wenn MODE nicht mehr vom Typ "number" sondern vom typ string ist (so wie ich es brauche) ist, wird das Device nicht mehr als AirCondition angesehen. Außerdem verschwinden die Icons im NSPANEL. Also baue ich mir nun wohl ein Javascript, welches die Strings in Numbers mappt, damit das NSPanel glaubt, dass es sowohl numbers liest und diese in die Icons mappen kann, als auch numbers schreibt, die ich dann in Strings mappen kann. Sollte ich falsch liegen, lasst es mich wissen.

        ArmilarA 1 Reply Last reply
        0
        • D drloksoft

          Ich glaube, dass ich einen Schritt weiter bin. Wenn MODE nicht mehr vom Typ "number" sondern vom typ string ist (so wie ich es brauche) ist, wird das Device nicht mehr als AirCondition angesehen. Außerdem verschwinden die Icons im NSPANEL. Also baue ich mir nun wohl ein Javascript, welches die Strings in Numbers mappt, damit das NSPanel glaubt, dass es sowohl numbers liest und diese in die Icons mappen kann, als auch numbers schreibt, die ich dann in Strings mappen kann. Sollte ich falsch liegen, lasst es mich wissen.

          ArmilarA Offline
          ArmilarA Offline
          Armilar
          Most Active Forum Testing
          wrote on last edited by Armilar
          #6497

          @drloksoft

          74da3c06-8fcf-4c6a-be54-80638b420086-image.png

          Bei mir läuft das aktuell komplett über die DP's im 0_userdata.0..., da ich keine physische Klimaanlage, jedoch ab und an Tests mit der Card anstehen. Es funktionieren auch die Buttons und die Bezeichner dazu (d.h. Auto im Mode wechselt auch)

          Wenn du das analog aufbaust (sind ja bei dir nicht alle Funktionen erforderlich) und dann per Blockly per Trigger auf den HASS map'st, dann sollte es funktionieren.

          Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
          https://github.com/joBr99/nspanel-lovelace-ui/wiki

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          D 1 Reply Last reply
          0
          • ArmilarA Armilar

            @drloksoft

            74da3c06-8fcf-4c6a-be54-80638b420086-image.png

            Bei mir läuft das aktuell komplett über die DP's im 0_userdata.0..., da ich keine physische Klimaanlage, jedoch ab und an Tests mit der Card anstehen. Es funktionieren auch die Buttons und die Bezeichner dazu (d.h. Auto im Mode wechselt auch)

            Wenn du das analog aufbaust (sind ja bei dir nicht alle Funktionen erforderlich) und dann per Blockly per Trigger auf den HASS map'st, dann sollte es funktionieren.

            D Offline
            D Offline
            drloksoft
            wrote on last edited by drloksoft
            #6498

            @armilar okay, teste ich. Ich weiss, es könnte anmaßend sein, aber hast Du ein Blockly beispiel? Ich mache bislang alles in JavaScript. Und Dein MODE ist numerisch. Ich muss den Mode in einen String umwandeln, um ihn an meine Klimaanlage zu übergeben.
            So wie ...
            "off": 0,
            "cool": 1,
            "heat": 2,
            "fan_only": 3,
            "dry": 4,
            "auto": 5
            aber ich kann diese Umwandlung ja dann tatsächlich per Javascript machen ..

            ArmilarA 1 Reply Last reply
            0
            • D drloksoft

              @armilar okay, teste ich. Ich weiss, es könnte anmaßend sein, aber hast Du ein Blockly beispiel? Ich mache bislang alles in JavaScript. Und Dein MODE ist numerisch. Ich muss den Mode in einen String umwandeln, um ihn an meine Klimaanlage zu übergeben.
              So wie ...
              "off": 0,
              "cool": 1,
              "heat": 2,
              "fan_only": 3,
              "dry": 4,
              "auto": 5
              aber ich kann diese Umwandlung ja dann tatsächlich per Javascript machen ..

              ArmilarA Offline
              ArmilarA Offline
              Armilar
              Most Active Forum Testing
              wrote on last edited by
              #6499

              @drloksoft

              Javascript ist doch eh besser 😉

              Wie schon gesagt, habe keine physische Klimaanlage. Bei mir hört alles bei den Datenpunkten der Test-Klimaanlage auf

              Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
              https://github.com/joBr99/nspanel-lovelace-ui/wiki

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              D 2 Replies Last reply
              1
              • ArmilarA Armilar

                @drloksoft

                Javascript ist doch eh besser 😉

                Wie schon gesagt, habe keine physische Klimaanlage. Bei mir hört alles bei den Datenpunkten der Test-Klimaanlage auf

                D Offline
                D Offline
                drloksoft
                wrote on last edited by
                #6500

                @armilar ok, ich probiere es.

                ArmilarA 1 Reply Last reply
                1
                • D drloksoft

                  @armilar ok, ich probiere es.

                  ArmilarA Offline
                  ArmilarA Offline
                  Armilar
                  Most Active Forum Testing
                  wrote on last edited by
                  #6501

                  @drloksoft

                  Falls es nicht klappen sollte, dann melde dich nochmal. Habe aktuell nur wenig bis gar keine Zeit und sehe nur ab und an in den Thread 😊

                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  T 1 Reply Last reply
                  0
                  • ArmilarA Armilar

                    @drloksoft

                    Javascript ist doch eh besser 😉

                    Wie schon gesagt, habe keine physische Klimaanlage. Bei mir hört alles bei den Datenpunkten der Test-Klimaanlage auf

                    D Offline
                    D Offline
                    drloksoft
                    wrote on last edited by
                    #6502

                    @armilar ach ja ... also nur zum Verständnis. Die cardTermo greift auf den Datenpunkt "Klimaanlage" in Deinem Beispiel und die darunter liegenden Datenpunkte wie BOOST etc sind einfach Teil der Card, richtig?

                    ArmilarA 1 Reply Last reply
                    0
                    • D drloksoft

                      @armilar ach ja ... also nur zum Verständnis. Die cardTermo greift auf den Datenpunkt "Klimaanlage" in Deinem Beispiel und die darunter liegenden Datenpunkte wie BOOST etc sind einfach Teil der Card, richtig?

                      ArmilarA Offline
                      ArmilarA Offline
                      Armilar
                      Most Active Forum Testing
                      wrote on last edited by
                      #6503

                      @drloksoft

                      ja, nur auf den einen Alias

                      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      1 Reply Last reply
                      0
                      • ArmilarA Armilar

                        @drloksoft

                        Falls es nicht klappen sollte, dann melde dich nochmal. Habe aktuell nur wenig bis gar keine Zeit und sehe nur ab und an in den Thread 😊

                        T Offline
                        T Offline
                        TT-Tom
                        wrote on last edited by TT-Tom
                        #6504

                        @armilar @drloksoft

                        ich kann dir auch weiterhelfen, muss nur zwd. mal Geld verdienen gehen bzw. die Welt retten 😉

                        Gruß Tom
                        https://github.com/tt-tom17
                        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                        NSPanel Script Wiki
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                        NSPanel Adapter Wiki
                        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                        D 1 Reply Last reply
                        1
                        • T TT-Tom

                          @armilar @drloksoft

                          ich kann dir auch weiterhelfen, muss nur zwd. mal Geld verdienen gehen bzw. die Welt retten 😉

                          D Offline
                          D Offline
                          drloksoft
                          wrote on last edited by
                          #6505

                          @tt-tom said in SONOFF NSPanel mit Lovelace UI:

                          ich kann dir auch weiterhelfen, muss nur zwd. mal Geld verdienen gehen bzw. die Welt retten

                          @TT-Tom, das mit der Welt retten kommt immer wieder dazwischen 🙂
                          Ich lege mir die Karten mit der TermoCard, vielleicht liegt es an meinem grundsätzlichem Verstädnisproblem, wie die Karten mit den Datenpunkten interagieren, allerdings ist meine Idee die Ziffern, die die Termokarte unter MODE versteht, in Strings umzuwandeln gescheitert. Am Ende konnte ich zwar die Klimaanlage anschalten und auch wieder ausschalten, wenn ich allerdings den Modus mit einer Funkfernbedienung oder einem VIS Widget ändern wollte, bleib der Modus stoisch auf den vom NSPANEL eingestellten Wert, was sicher an meinem JavaScript lag. Also fange ich von vorne an, um die Card Konfiguration zu verstehen. Wenn Ihr erlaubt, treffe ich ein paar Annahmen und bitte um Kommentare hinsichtlich meines Verständnisses. Wenn es alles zu blöde klingt, dann bitte ich um einen Link zu einer grundsätzlichen Doku. Ich danke Euch auf jeden Fall schon jetzt für die Hilfsbereitschaft! Dass die Seite https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen keine Beschreibung zur CartThermo hat, sehe ich richtig, oder?

                          Also:
                          Die Card erwartet einen Ordner mit verschiedenen Datenpunkten, wie von @Armilar im Screenshot gezeigt.

                          In dem Beispiel in GitHub sind ein paar Werte definiert:
                          code_text

                                          id: "alias.0.TestKlimaVirtual", 
                                          //id: "alias.0.NSPanel.wohnzimmer.AirConWohn",
                                          minValue: 50, 
                                          maxValue: 250,
                                          stepValue: 5,
                                          iconArray: ['power-standby','air-conditioner','snowflake','fire','alpha-e-circle-outline','fan','water-percent','swap-vertical-bold'],
                                          popupThermoMode1: ['Auto','0','1','2','3'],
                                          popupThermoMode2: ['Auto','0','1','2','3','4','5'],
                                          popupThermoMode3: ['Auto','Manual','Boost',],
                                          popUpThermoName: ["Schwenk-Modus", 'Speed', 'Temperatur'],
                                          icon: 'fan',
                                          //setThermoAlias: ['MODE1','MODE2','MODE3'],
                          

                          Woher weiß ich, dass das iconArray die richtige Reihenfolge hat und wie mappe ich den Modus auf das richtige Icon? Sind die irgendwo im Code hinterlegt, weil jedes HVAC System immer die gleichen Modus hat?

                          Im MODE kann ich aktuell nur Werte vom Typ Number speichern, richtig?
                          Gibt es eine einfache Lösung, um dann in das richtige Objekt der Klimaanlage einen String zu schreiben?

                          DANKE nochmal!!

                          T 1 Reply Last reply
                          0
                          • D drloksoft

                            @tt-tom said in SONOFF NSPanel mit Lovelace UI:

                            ich kann dir auch weiterhelfen, muss nur zwd. mal Geld verdienen gehen bzw. die Welt retten

                            @TT-Tom, das mit der Welt retten kommt immer wieder dazwischen 🙂
                            Ich lege mir die Karten mit der TermoCard, vielleicht liegt es an meinem grundsätzlichem Verstädnisproblem, wie die Karten mit den Datenpunkten interagieren, allerdings ist meine Idee die Ziffern, die die Termokarte unter MODE versteht, in Strings umzuwandeln gescheitert. Am Ende konnte ich zwar die Klimaanlage anschalten und auch wieder ausschalten, wenn ich allerdings den Modus mit einer Funkfernbedienung oder einem VIS Widget ändern wollte, bleib der Modus stoisch auf den vom NSPANEL eingestellten Wert, was sicher an meinem JavaScript lag. Also fange ich von vorne an, um die Card Konfiguration zu verstehen. Wenn Ihr erlaubt, treffe ich ein paar Annahmen und bitte um Kommentare hinsichtlich meines Verständnisses. Wenn es alles zu blöde klingt, dann bitte ich um einen Link zu einer grundsätzlichen Doku. Ich danke Euch auf jeden Fall schon jetzt für die Hilfsbereitschaft! Dass die Seite https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen keine Beschreibung zur CartThermo hat, sehe ich richtig, oder?

                            Also:
                            Die Card erwartet einen Ordner mit verschiedenen Datenpunkten, wie von @Armilar im Screenshot gezeigt.

                            In dem Beispiel in GitHub sind ein paar Werte definiert:
                            code_text

                                            id: "alias.0.TestKlimaVirtual", 
                                            //id: "alias.0.NSPanel.wohnzimmer.AirConWohn",
                                            minValue: 50, 
                                            maxValue: 250,
                                            stepValue: 5,
                                            iconArray: ['power-standby','air-conditioner','snowflake','fire','alpha-e-circle-outline','fan','water-percent','swap-vertical-bold'],
                                            popupThermoMode1: ['Auto','0','1','2','3'],
                                            popupThermoMode2: ['Auto','0','1','2','3','4','5'],
                                            popupThermoMode3: ['Auto','Manual','Boost',],
                                            popUpThermoName: ["Schwenk-Modus", 'Speed', 'Temperatur'],
                                            icon: 'fan',
                                            //setThermoAlias: ['MODE1','MODE2','MODE3'],
                            

                            Woher weiß ich, dass das iconArray die richtige Reihenfolge hat und wie mappe ich den Modus auf das richtige Icon? Sind die irgendwo im Code hinterlegt, weil jedes HVAC System immer die gleichen Modus hat?

                            Im MODE kann ich aktuell nur Werte vom Typ Number speichern, richtig?
                            Gibt es eine einfache Lösung, um dann in das richtige Objekt der Klimaanlage einen String zu schreiben?

                            DANKE nochmal!!

                            T Offline
                            T Offline
                            TT-Tom
                            wrote on last edited by TT-Tom
                            #6506

                            @drloksoft

                            Fangen wir mal Schritt für Schritt an:

                            welche Daten bekommst du bzw. muss du setzen für den jeweiligen Modus in diesen Datenpunkten. Welchen Typ sind diese Daten?

                            alias.0.AirConWohnMode.set_hvac_mode den aktuellen modus setzt und diesen auch anzeigen kann
                            -- setzen des state mit hass.0.entities.climate.106838462bc1.set_hvac_mode
                            -- und lesen mit hass.0.entities.climate.106838462bc1.state

                            Das IconArray ist dieselbe Reihenfolge, wie deine States im DP "MODE".

                            PS erstelle mir mit deinen Daten dann eine virtuelle Anlage

                            Gruß Tom
                            https://github.com/tt-tom17
                            Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                            NSPanel Script Wiki
                            https://github.com/joBr99/nspanel-lovelace-ui/wiki

                            NSPanel Adapter Wiki
                            https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                            ArmilarA 1 Reply Last reply
                            1
                            • T TT-Tom

                              @drloksoft

                              Fangen wir mal Schritt für Schritt an:

                              welche Daten bekommst du bzw. muss du setzen für den jeweiligen Modus in diesen Datenpunkten. Welchen Typ sind diese Daten?

                              alias.0.AirConWohnMode.set_hvac_mode den aktuellen modus setzt und diesen auch anzeigen kann
                              -- setzen des state mit hass.0.entities.climate.106838462bc1.set_hvac_mode
                              -- und lesen mit hass.0.entities.climate.106838462bc1.state

                              Das IconArray ist dieselbe Reihenfolge, wie deine States im DP "MODE".

                              PS erstelle mir mit deinen Daten dann eine virtuelle Anlage

                              ArmilarA Offline
                              ArmilarA Offline
                              Armilar
                              Most Active Forum Testing
                              wrote on last edited by
                              #6507

                              @tt-tom

                              Bin parallel mal mit einer umfangreicheren Dokumentation der Klimaanlage angefangen:

                              https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-‐-cardThermo-‐-Klimaanlage

                              Können wir bei Bedarf wachsen lassen oder erweitern... ist noch nicht im Seiten-Menü verankert...

                              Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                              https://github.com/joBr99/nspanel-lovelace-ui/wiki

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              D 1 Reply Last reply
                              0
                              • ArmilarA Armilar

                                @tt-tom

                                Bin parallel mal mit einer umfangreicheren Dokumentation der Klimaanlage angefangen:

                                https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-‐-cardThermo-‐-Klimaanlage

                                Können wir bei Bedarf wachsen lassen oder erweitern... ist noch nicht im Seiten-Menü verankert...

                                D Offline
                                D Offline
                                drloksoft
                                wrote on last edited by
                                #6508

                                @armilar @TT-Tom ,

                                Guten morgen!
                                Mich hat gestern ein Anflug einer Erkältung umgehauen ... Männergrippe und so ... oder einfach zu viel in der Klimaanlagenluft gestanden 🙂

                                MODE
                                -- setzen des state mit hass.0.entities.climate.106838462bc1.set_hvac_mode
                                --> ein einfacher String muss gesetzt werden. Optionen: ["off","cool","heat","fan_only","dry","auto"]
                                -- und lesen mit hass.0.entities.climate.106838462bc1.state
                                --> steht dort auch als String

                                Temperatur
                                -- setzen mit hass.0.entities.climate.106838462bc1.set_temperature
                                --> als JSON String. Z.B. {"temperature":24}
                                -- lesen in hass.0.entities.climate.106838462bc1.temperature
                                --> dort als number - zB: 24

                                Ein- und ausschalten
                                Mit hass.0.entities.climate.106838462bc1.turn_off und hass.0.entities.climate.106838462bc1.turn_on kann ich mit einem Boolean Wert auch die Klimaanlage ein- und ausschalten. Alternative auch mit hass.0.entities.climate.106838462bc1.toggle. Wenn ich allerdings den Mode in set_hvac_mode setze, dann geht die Klimaanlage auch an (alles außer off) und aus (off).

                                Swing Mode
                                -- setzen des state mit hass.0.entities.climate.106838462bc1.set_swing_mode
                                --> string, optionen: ["Vertical Swing","Highest","High","Low","Lowest"]
                                -- lesen des state mit hass.0.entities.climate.106838462bc1.swing_mode
                                --> string

                                fan mode
                                -- setzen mit hass.0.entities.climate.106838462bc1.set_fan_mode
                                ---> string, optionen: ["Quiet","low","medium","high","auto"]
                                -- lesen mit hass.0.entities.climate.106838462bc1.fan_mode
                                --> string

                                Brauchst Du noch etwas?

                                fa9f1ef6-4e01-4abb-a5a8-8153caf6954b-image.png
                                41d06bc7-54ae-434a-a51b-0eed3a89bd2e-image.png

                                ArmilarA 1 Reply Last reply
                                0
                                • D drloksoft

                                  @armilar @TT-Tom ,

                                  Guten morgen!
                                  Mich hat gestern ein Anflug einer Erkältung umgehauen ... Männergrippe und so ... oder einfach zu viel in der Klimaanlagenluft gestanden 🙂

                                  MODE
                                  -- setzen des state mit hass.0.entities.climate.106838462bc1.set_hvac_mode
                                  --> ein einfacher String muss gesetzt werden. Optionen: ["off","cool","heat","fan_only","dry","auto"]
                                  -- und lesen mit hass.0.entities.climate.106838462bc1.state
                                  --> steht dort auch als String

                                  Temperatur
                                  -- setzen mit hass.0.entities.climate.106838462bc1.set_temperature
                                  --> als JSON String. Z.B. {"temperature":24}
                                  -- lesen in hass.0.entities.climate.106838462bc1.temperature
                                  --> dort als number - zB: 24

                                  Ein- und ausschalten
                                  Mit hass.0.entities.climate.106838462bc1.turn_off und hass.0.entities.climate.106838462bc1.turn_on kann ich mit einem Boolean Wert auch die Klimaanlage ein- und ausschalten. Alternative auch mit hass.0.entities.climate.106838462bc1.toggle. Wenn ich allerdings den Mode in set_hvac_mode setze, dann geht die Klimaanlage auch an (alles außer off) und aus (off).

                                  Swing Mode
                                  -- setzen des state mit hass.0.entities.climate.106838462bc1.set_swing_mode
                                  --> string, optionen: ["Vertical Swing","Highest","High","Low","Lowest"]
                                  -- lesen des state mit hass.0.entities.climate.106838462bc1.swing_mode
                                  --> string

                                  fan mode
                                  -- setzen mit hass.0.entities.climate.106838462bc1.set_fan_mode
                                  ---> string, optionen: ["Quiet","low","medium","high","auto"]
                                  -- lesen mit hass.0.entities.climate.106838462bc1.fan_mode
                                  --> string

                                  Brauchst Du noch etwas?

                                  fa9f1ef6-4e01-4abb-a5a8-8153caf6954b-image.png
                                  41d06bc7-54ae-434a-a51b-0eed3a89bd2e-image.png

                                  ArmilarA Offline
                                  ArmilarA Offline
                                  Armilar
                                  Most Active Forum Testing
                                  wrote on last edited by Armilar
                                  #6509

                                  @drloksoft

                                  Okay, fangen wir bei der cardThermo - Definition an...

                                  Das müsste die beschriebene Funktionalität im Frontend sein, korrekt?
                                  5f80d09a-83a9-4217-b3f7-bf9b5d214beb-Nextion_Editor_6p6EkkG17M.gif

                                  let TestKlimaVirtual: PageType =
                                  {
                                      'type': 'cardThermo',
                                      'heading': 'Test Klimaanlage',
                                      'items': [{  
                                                  id: 'alias.0.TestKlimaVirtual', 
                                                  //id: "alias.0.NSPanel.wohnzimmer.AirConWohn",
                                                  minValue: 50, // Anpassen an die minimal Mögliche Temperatur (aktuell 5°)
                                                  maxValue: 250, // Anpassen an die maximal mögliche Temperatur (aktuell 25°)
                                                  stepValue: 5,
                                                  popupThermoMode1: ['Vertical Swing','Highest','High','Low','Lowest'],
                                                  popupThermoMode2: ['Quiet','low','medium','high','auto'],
                                                  popUpThermoName: ['Swing Mode', 'Fan Mode'],
                                                  setThermoAlias: ['popupKlima_Mode_1','popupKlima_Mode_2'],
                                                  icon: 'fan',
                                               }]
                                  };
                                  

                                  Mein Testdatenpunkt für "Mode" hat folgende States:

                                  {
                                    "common": {
                                      "name": "Mode",
                                      "desc": "Manuell erzeugt",
                                      "role": "state",
                                      "type": "number",
                                      "read": true,
                                      "write": true,
                                      "def": 0,
                                      "states": {
                                        "0": "OFF",
                                        "1": "COOL",
                                        "2": "HEAT",
                                        "3": "FAN_ONLY",
                                        "4": "DRY",
                                        "5": "AUTO"
                                      }
                                    },
                                    "type": "state",
                                    "_id": "0_userdata.0.Test.Klimaanlage.Mode",
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    },
                                    "from": "system.adapter.admin.0",
                                    "user": "system.user.admin",
                                    "ts": 1729510343814
                                  }
                                  

                                  ebenso der Alias-DP "Mode":

                                  {
                                    "_id": "alias.0.TestKlimaVirtual.MODE",
                                    "common": {
                                      "name": "MODE",
                                      "role": "level.mode.airconditioner",
                                      "type": "number",
                                      "read": true,
                                      "write": true,
                                      "alias": {
                                        "id": "0_userdata.0.Test.Klimaanlage.Mode"
                                      },
                                      "states": {
                                        "0": "OFF",
                                        "1": "COOL",
                                        "2": "HEAT",
                                        "3": "FAN_ONLY",
                                        "4": "DRY",
                                        "5": "AUTO"
                                      }
                                    },
                                    "native": {},
                                    "type": "state",
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    },
                                    "from": "system.adapter.admin.0",
                                    "user": "system.user.admin",
                                    "ts": 1729511052706
                                  }
                                  

                                  Meine Testdatenpunkte sind immer noch die gleichen:
                                  a4ce43ac-aac9-4091-80c2-3ec9110b0414-image.png

                                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  1 Reply Last reply
                                  1
                                  • D Offline
                                    D Offline
                                    drloksoft
                                    wrote on last edited by
                                    #6510

                                    @armilar ja, genau, so sollte es im Frontend aussehen. Einziges Makel aus meiner Sicht ist, dass wenn der Zustand OFF ist, noch immer das icon von AC in grün angezeigt wird. Das verwirrt ein wenig. Die beiden pfeile unten rechts, sind die ein refresh icon?

                                    Wenn ich analog zu Dir Testdatenpunkte mit einem MODE in numbers erstelle, erhalte ich das gleiche Ergebnis.

                                    ArmilarA 2 Replies Last reply
                                    0
                                    • D drloksoft

                                      @armilar ja, genau, so sollte es im Frontend aussehen. Einziges Makel aus meiner Sicht ist, dass wenn der Zustand OFF ist, noch immer das icon von AC in grün angezeigt wird. Das verwirrt ein wenig. Die beiden pfeile unten rechts, sind die ein refresh icon?

                                      Wenn ich analog zu Dir Testdatenpunkte mit einem MODE in numbers erstelle, erhalte ich das gleiche Ergebnis.

                                      ArmilarA Offline
                                      ArmilarA Offline
                                      Armilar
                                      Most Active Forum Testing
                                      wrote on last edited by Armilar
                                      #6511

                                      @drloksoft

                                      Die beiden Pfeile schalten den Swing-Mode On/Off

                                      Wir könnten das Script noch ändern, in dem die Farben bei ausgeschalteter Anlage ausgegraut sind... Aber das machen wir ganz am Ende

                                      Das ist der Alias...
                                      f5dc0b85-c349-44c9-b7cc-5c15a3d89396-image.png

                                      bekommst du das nachgebaut?

                                      Wenn ich analog zu Dir Testdatenpunkte mit einem MODE in numbers erstelle, erhalte ich das gleiche Ergebnis.

                                      Number ist korrekt. Wir mappen danach per Script von den virtuellen Datenpunkten in den HASS Adapter... Da können wir alles so konvertieren, wie es HA benötigt.

                                      Zunächst erstmal das Virtuelle Device nachbauen...

                                      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      1 Reply Last reply
                                      1
                                      • D drloksoft

                                        @armilar ja, genau, so sollte es im Frontend aussehen. Einziges Makel aus meiner Sicht ist, dass wenn der Zustand OFF ist, noch immer das icon von AC in grün angezeigt wird. Das verwirrt ein wenig. Die beiden pfeile unten rechts, sind die ein refresh icon?

                                        Wenn ich analog zu Dir Testdatenpunkte mit einem MODE in numbers erstelle, erhalte ich das gleiche Ergebnis.

                                        ArmilarA Offline
                                        ArmilarA Offline
                                        Armilar
                                        Most Active Forum Testing
                                        wrote on last edited by Armilar
                                        #6512

                                        @drloksoft

                                        Mit dem folgenden Teil sollte die Sysnchronisation zwischen Mode und Setpoint bereits funktionieren (ggfs. Datenpunkte in 0_userdata checken)

                                        Einfach neues JS-Script erzeugen und reinkopieren...

                                        const vMode = ['off', 'cool', 'heat', 'fan_only', 'dry', 'auto'];
                                        
                                        // Synchronisation Mode (HASS --> ioBroker)
                                        on({ id: [].concat(['hass.0.entities.climate.106838462bc1.state']), change: 'ne' }, async (obj) => {
                                            setStateDelayed('0_userdata.0.Test.Klimaanlage.Mode', { val: (vMode.indexOf(obj.state ? obj.state.val : '')), ack: false }, parseInt(((0) || '').toString(), 10), false);
                                        });
                                        
                                        // Modeänderung aus NSPanel (ioBroker --> HASS)
                                        on({ id: [].concat(['0_userdata.0.Test.Klimaanlage.Mode']), change: 'ne' }, async (obj) => {
                                            setStateDelayed('hass.0.entities.climate.106838462bc1.set_hvac_mode', { val: (vMode[(obj.state ? obj.state.val : '')]), ack: false }, parseInt(((0) || '').toString(), 10), false);
                                        });
                                        
                                        // Synchronisation der SOLL-Temperatur (HASS --> ioBroker)
                                        on({ id: [].concat(['hass.0.entities.climate.106838462bc1.temperature']), change: 'ne' }, async (obj) => {
                                             setStateDelayed('0_userdata.0.Test.Klimaanlage.Soll_Temperatur', { val: (obj.state ? obj.state.val : ''), ack: false }, parseInt(((0) || '').toString(), 10), false);
                                        });
                                        
                                        // Senden der Solltemperatur (ioBroker an HASS)
                                        on({ id: [].concat(['0_userdata.0.Test.Klimaanlage.Soll_Temperatur']), change: 'ne' }, async (obj) => {
                                            setStateDelayed('hass.0.entities.climate.106838462bc1.set_temperature', { val: (['{"temperature":',(obj.state ? obj.state.val : ''),'}'].join('')), ack: false }, parseInt(((0) || '').toString(), 10), false);
                                        });
                                        

                                        Fehlt aktuell noch die Auswertung des Swing-/Fan-Mode und die Sonderbehandlung für On/Off

                                        Funktioniert das bis hierher?

                                        EDIT: Noch kurz einen DP ausgetauscht... Kanns halt nicht testen 😉

                                        EDIT 2: Mapping von .state erfolgt ja auch aus Array... habs noch geändert

                                        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        D 1 Reply Last reply
                                        1
                                        • ArmilarA Armilar

                                          @drloksoft

                                          Mit dem folgenden Teil sollte die Sysnchronisation zwischen Mode und Setpoint bereits funktionieren (ggfs. Datenpunkte in 0_userdata checken)

                                          Einfach neues JS-Script erzeugen und reinkopieren...

                                          const vMode = ['off', 'cool', 'heat', 'fan_only', 'dry', 'auto'];
                                          
                                          // Synchronisation Mode (HASS --> ioBroker)
                                          on({ id: [].concat(['hass.0.entities.climate.106838462bc1.state']), change: 'ne' }, async (obj) => {
                                              setStateDelayed('0_userdata.0.Test.Klimaanlage.Mode', { val: (vMode.indexOf(obj.state ? obj.state.val : '')), ack: false }, parseInt(((0) || '').toString(), 10), false);
                                          });
                                          
                                          // Modeänderung aus NSPanel (ioBroker --> HASS)
                                          on({ id: [].concat(['0_userdata.0.Test.Klimaanlage.Mode']), change: 'ne' }, async (obj) => {
                                              setStateDelayed('hass.0.entities.climate.106838462bc1.set_hvac_mode', { val: (vMode[(obj.state ? obj.state.val : '')]), ack: false }, parseInt(((0) || '').toString(), 10), false);
                                          });
                                          
                                          // Synchronisation der SOLL-Temperatur (HASS --> ioBroker)
                                          on({ id: [].concat(['hass.0.entities.climate.106838462bc1.temperature']), change: 'ne' }, async (obj) => {
                                               setStateDelayed('0_userdata.0.Test.Klimaanlage.Soll_Temperatur', { val: (obj.state ? obj.state.val : ''), ack: false }, parseInt(((0) || '').toString(), 10), false);
                                          });
                                          
                                          // Senden der Solltemperatur (ioBroker an HASS)
                                          on({ id: [].concat(['0_userdata.0.Test.Klimaanlage.Soll_Temperatur']), change: 'ne' }, async (obj) => {
                                              setStateDelayed('hass.0.entities.climate.106838462bc1.set_temperature', { val: (['{"temperature":',(obj.state ? obj.state.val : ''),'}'].join('')), ack: false }, parseInt(((0) || '').toString(), 10), false);
                                          });
                                          

                                          Fehlt aktuell noch die Auswertung des Swing-/Fan-Mode und die Sonderbehandlung für On/Off

                                          Funktioniert das bis hierher?

                                          EDIT: Noch kurz einen DP ausgetauscht... Kanns halt nicht testen 😉

                                          EDIT 2: Mapping von .state erfolgt ja auch aus Array... habs noch geändert

                                          D Offline
                                          D Offline
                                          drloksoft
                                          wrote on last edited by
                                          #6513

                                          @armilar super! Danke! Ich gucke es mir an und baue es nach. Melde mich umgehend.

                                          D 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          542

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe