Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. VIS Increment Button mit getrenntem Ist und Sollwert (MQTT)

    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

    VIS Increment Button mit getrenntem Ist und Sollwert (MQTT)

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

      Hallo zusammen,

      ich möchte in Vis die max. Ströme in openWB einstellen. openWB ist via MQTT angebunden und hat dort "get" und "set" Pfade der Datenpunkte. Ich kann zwar den Get-Pfad mit einem Increment-jqui-Button beschreiben/verändern. Das zeigt openWB sogar auch an, übernimmt diesen Wert aber intern nicht. Klar. Dafür gibt es ja den Set Datenpfad. Dieser ist aber One-Way. Ich kann ihn beschreiben aber keinen Wert zurücklesen. Ich bräuchte also einen Increment Button der den Istwert aus dem "Get" Datenpunkt liest und dann den Sollwert entsprechend in den "Set" Datenpunkt schreibt. Sicherlich kann ich das umständlich mit einem Script und einer Variable lösen. Gibt es da vielleicht etwas eleganteres?

      Danke.

      Viele Grüße
      Thomas.

      S 1 Reply Last reply Reply Quote 0
      • S
        Strobelix @AllElectrified last edited by

        @ampheus said in VIS Increment Button mit getrenntem Ist und Sollwert (MQTT):

        einem Increment-jqui-Button beschreiben/verändern. Das zeigt openWB sogar auch an, übernimmt diesen Wert aber intern nicht. Klar. Dafür gibt es ja den Set

        Du musst einen Alias anlegen mit unterschiedlichen read/write zielen und den Alias dann in deine Vis einsetzen

        AllElectrified 2 Replies Last reply Reply Quote 0
        • AllElectrified
          AllElectrified @Strobelix last edited by

          @strobelix Danke. Wieder was gelernt. Alias kenne ich, habe ich bislang aber noch nicht verwendet. Werde mich mal damit beschäftigen.

          MartinP 1 Reply Last reply Reply Quote 0
          • MartinP
            MartinP @AllElectrified last edited by MartinP

            @ampheus Auch die Verwendung eines Alias dazu, um Json-Datenpunkte mit Strukturen zu "zerlegen" ist sehr hilfreich ...

            Hier wird die "voltage" aus dem zigbee2mqtt Datenpunkt eines aqara Sensors extrahiert:

            {
              "battery": 100,
              "humidity": 31.62,
              "last_seen": "2024-01-04T14:36:14+01:00",
              "linkquality": 166,
              "power_outage_count": 46,
              "pressure": 989.3,
              "temperature": -21.35,
              "voltage": 3005
            }
            

            217a6cf6-7b78-4eae-882f-c0d7ebd74f0a-grafik.png

            AllElectrified 1 Reply Last reply Reply Quote 1
            • AllElectrified
              AllElectrified @MartinP last edited by

              @martinp Sehr guter Tipp. Danke. Wusste ich noch nicht.

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

                In webUi könntest du das mit einem Blockly Script z.B. beim klicken lösen:

                3e0d6ab8-c096-469a-a782-dabfc6602872-image.png

                AllElectrified 1 Reply Last reply Reply Quote 0
                • AllElectrified
                  AllElectrified @jogibear9988 last edited by AllElectrified

                  @jogibear9988 Danke. Ja genau so ähnlich war meine ursprüngliche Idee. Deine vorgeschlagene Variante ohne Variable ist natürlich clever. Die Aliasvariante hat aber glaube ich Vorteile. Muss ich mal auschecken. Viele Wege führen bekanntlich nach Rom 🙂

                  jogibear9988 1 Reply Last reply Reply Quote 0
                  • jogibear9988
                    jogibear9988 @AllElectrified last edited by

                    @ampheus

                    ja, dachte das ich das in meiner webUi auch mit meiner simplen scriptsprache lösen kann, ging nicht.
                    Daher hab ich nun dafür auch noch einen neuen script Befehl gebaut der das kann:

                    4072e334-876d-4cd5-a761-250b519a9946-image.png

                    ist ja doch was, was man öfter gebrauchen kann.

                    1 Reply Last reply Reply Quote 0
                    • AllElectrified
                      AllElectrified @Strobelix last edited by

                      @strobelix Soweit ich das jetzt verstanden habe, kann ich zwar mit dem "Geräte verwalten" Adapter einen Alias erstellen, der dann den Setwert und den Istwert enthält. Aber das sind dann halt wieder zwei Unter-Datenpunkte. Ich kann beim Increment Knopf in VIS ja nur einen Datenpunkt angeben. Dieser wird gelesen und dann der entsprechend inkrementierte Wert geschrieben. Das geht offenbar mit einem Alias nicht. Läuft also wohl doch auf einen Script hinaus ..... Oder hab ich das etwas übersehen?

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        Strobelix @AllElectrified last edited by Strobelix

                        @ampheus Doch das geht mit nur einem Datenpunkt.
                        Du kannst den Alias auch manuell anlegen in alias.0 oder über den Alias-Manager oder "Geräte verwalten"

                        Hier mal ein Beispiel für unterschiedliche read/write Datenpunkte
                        Für den Alias wird aus ..parameter.valueKey gelesen und nach ...parameter.setValue geschrieben

                        Hier wird zusätzlich noch mein Boolean Alias in einen Number Datenpunkt übersetzt mit
                        "read": "val == 2 ? true : false", (Macht aus einer 2 ein True - aus allem anderen ein False)
                        "write": "val == true ? 2 : 1", (Macht aus einem True eine 2 - aus allem anderen eine 1)

                        {
                          "type": "state",
                          "common": {
                            "name": "valueKey",
                            "role": "state",
                            "type": "boolean",
                            "read": true,
                            "write": true,
                            "alias": {
                              "id": {
                                "read": "froeling.0.29755.details.Strobel.betriebsart-9969.parameter.valueKey",
                                "write": "froeling.0.29755.details.Strobel.betriebsart-9969.parameter.setValue"
                              },
                              "read": "val == 2 ? true : false",
                              "write": "val == true ? 2 : 1"
                            }
                          },
                          "_id": "alias.0.Froeling.Extraladen",
                          "native": {},
                          "from": "system.adapter.admin.0",
                          "user": "system.user.admin",
                          "ts": 1642942444886,
                          "acl": {
                            "object": 1636,
                            "state": 1638,
                            "owner": "system.user.admin",
                            "ownerGroup": "system.group.administrator"
                          }
                        }
                        
                        AllElectrified 1 Reply Last reply Reply Quote 0
                        • AllElectrified
                          AllElectrified @Strobelix last edited by

                          @strobelix Danke für das Beispiel. Muss ich mir bei Gelegenheit nochmal genauer ansehen. Das ist sehr elegant und Resourcenschonend.

                          Habe mir vorerst mit einer Variable geholfen die über zwei Trigger im Javascript/Blockly entsprechend gesetzt wird (wenn ein Inputdatenpunkt sich ändert) oder einen anderen Output-Datenpunkt setzt wenn sie z.B. via Vis-Inkrement-Schalter geändert wird. Umständlich aber läuft erst mal.
                          Zwischenablage03.png

                          S B 2 Replies Last reply Reply Quote 0
                          • S
                            Strobelix @AllElectrified last edited by

                            @allelectrified da musst du aber mit "schreibe" / "aktualisiere" darauf achten, dass du keine Endlosschleifen baust.

                            1 Reply Last reply Reply Quote 0
                            • B
                              bommel_030 @AllElectrified last edited by

                              @allelectrified
                              Wie ich sehe bist du noch mit openWB <2.0 unterwegs. Dann solltest du direkt mit Alias arbeiten. Dann musst du beim Upgrade nur an einer Stelle anpassen und nicht x Skripte durchsuchen und anpassen. Beim ChargepointEnabled (v1.9) haben Sie mit manual_lock (v2.0) quasi den Sinn direkt mit invertiert. Kann der Alias auch elegant abfangen.
                              cffa7df4-6bec-485a-a434-c3eb051b026b-image.png

                              AllElectrified 1 Reply Last reply Reply Quote 0
                              • AllElectrified
                                AllElectrified @bommel_030 last edited by

                                @bommel_030 Welchen Adapter hast Du dafür installiert? Den Alias Manager oder den Linked Devices?

                                B 1 Reply Last reply Reply Quote 0
                                • B
                                  bommel_030 @AllElectrified last edited by

                                  @allelectrified
                                  Keinen, beide getestet und mittlerweile deaktiviert. Wenn du unter alias.0. einen Datenpunkt anlegst kannst du mit dem Bleistift editieren und dann einfach selber die Quelle auswählen und bei Bedarf die Konvertierungen anlegen. Da das mittlerweile alles mit Boardmitteln geht nutze ich keinen zusätzlichen Adapter mehr.
                                  Ich nutze aber auch keine Geräte im Sinne von Devices Adapter, weiß nicht ob es da im alias-Manager weitere Möglichkeiten gibt.

                                  AllElectrified 1 Reply Last reply Reply Quote 0
                                  • AllElectrified
                                    AllElectrified @bommel_030 last edited by

                                    @bommel_030 Danke für den Tipp. Auf diese einfachste Variante bin ich natürlich nicht gekommen. Habe es gefunden. Werde das bei Gelegenheit in den Scripten mal nach und nach umstellen. Vielleicht will ich ja doch mal irgendwann auf openWB 2, dann wäre das recht bequem. Habe bislang eigentlich im 1.9 noch nichts vermisst (habe zwei goEcharger und mein RCT PV und Speicher damit laufen und zusätzlich halt bisschen Automation und VIS im IOBROKER inklusive TESLA laden 3 phasig bis runter zu 600 Watt via API und halt Tibber) . Welche Punkte würden denn aktuell für ein upgrade sprechen? Soweit ich das verstehe, ist die 2 noch ziemlich Baustelle, oder?

                                    B 1 Reply Last reply Reply Quote 0
                                    • B
                                      bommel_030 @AllElectrified last edited by

                                      @allelectrified
                                      Mich hat die neue Fahrzeugverwaltung getriggert weil die alte ja quasi nicht existent war... Und der Jahreswechsel war nen runder Zeitpunkt dafür. Mit meinem jetzigen Wissen würde ich damit locker noch bis zum nächsten Jahreswechsel warten. Irgendwann wird es halt für die 1.9er kein Update/Patches mehr geben und dann ist man quasi zum Wechsel gezwungen.

                                      AllElectrified 1 Reply Last reply Reply Quote 0
                                      • AllElectrified
                                        AllElectrified @bommel_030 last edited by

                                        @bommel_030 Danke für das Feedback. Ich werde erst mal auf der 1.9er bleiben. Habe das mit den Aliaspunkten und den verschiedenen Lese und Schreibdatenpunkten hinbekommen. Funktioniert jetzt prima mit der openWB.

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        746
                                        Online

                                        31.8k
                                        Users

                                        80.0k
                                        Topics

                                        1.3m
                                        Posts

                                        5
                                        18
                                        655
                                        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