Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Eine Heizung mit drei Fensterkontakten

    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

    Eine Heizung mit drei Fensterkontakten

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mariatschi0815 @paul53 last edited by Mariatschi0815

      @paul53 said in Eine Heizung mit drei Fensterkontakten:

      @mariatschi0815 sagte: Die Datenpunkte die ich nutze hab ich nochmal in alias-Punkte übernommen

      Es fehlt der Alias "TempAnwesend" zu "heating_setpnt_occupied".

      Bild_2022-01-15_190727.png

      Sind die beiden Datenpunkte "occupied" / "unoccupied" read only ?

      @mariatschi0815 sagte in Eine Heizung mit drei Fensterkontakten:

      mit "16" schaltet sich das Thermostat ein und setzt die Zieltemperatur auf den zuvor programmierten Wert

      Das muss sicherlich die Zahl 16 sein? Oder ist der Datenpunkt "spz_system_mode" vom Typ "string"?

      Jetzt hat es erst click gemacht, was du hier gemeint hast. Problem ist das die Datenpunkte ..._current und …_occupied sich sozusagen gegenseitig aktualisieren. Ändere ich current wird occupied auf den selben Wert geschrieben und umgekehrt. Somit müsste ich also mein Problem beheben indem ich eine zusätzliche Variable zur Übergabe einfüge?

      Edit: Die Datenpunkte sind beide schreibbar.

      Und der Wert ist eine Zahl genau, also sollte ich das noch ändern.

      paul53 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Mariatschi0815 last edited by paul53

        @mariatschi0815 sagte: Ändere ich current wird occupied auf den selben Wert geschrieben und umgekehrt

        Wirklich? Das kann ich mir nicht vorstellen.

        @mariatschi0815 sagte in Eine Heizung mit drei Fensterkontakten:

        Die Datenpunkte sind beide schreibbar.

        Dann ist die Rolle "value.temperature" falsch.

        M 1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer last edited by

          @paul53 sagte in Eine Heizung mit drei Fensterkontakten:

          @mariatschi0815 sagte: Ändere ich current wird occupied auf den selben Wert geschrieben und umgekehrt

          Wirklich? Das kann ich mir nicht vorstellen.

          Das ist so. Der Thermostat unterstützt einen Attribut im Hersteller spezifischen Cluster (current_heating_setpoint). Damit er aber auch von “Standard” Koordinatoren angesteuert werden kann nimmt er auch Werte auf den im Standard definierten Attribut “occupied_heating_setpoint” aus dem HVAC Cluster.

          A.

          paul53 1 Reply Last reply Reply Quote 0
          • M
            Mariatschi0815 @paul53 last edited by

            @paul53 said in Eine Heizung mit drei Fensterkontakten:

            Dann ist die Rolle "value.temperature" falsch.

            Die Rolle wird vom Adapter so vorgegeben, da hab ich keine Handhabe drüber. Würdest du mir trotzdem erklären was die Rolle aussagt und was dann theoretisch die richtige Rolle wäre?

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

              @mariatschi0815 sagte: was die Rolle aussagt

              Siehe Doku

              @mariatschi0815 sagte in Eine Heizung mit drei Fensterkontakten:

              was dann theoretisch die richtige Rolle wäre?

              "level.temperature"

              Wenn die Rolle im Adapter falsch ist, kann man sie aber im Alias korrigieren.

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

                @mariatschi0815 sagte: eine zusätzliche Variable zur Übergabe einfüge?

                Ja, erstelle einen eigenen Datenpunkt für "TempAnwesend" unter "0_userdata.0".

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

                  @asgothian
                  Normalerweise sind “occupied_heating_setpoint” und “unoccupied_heating_setpoint” die Sollwerte, zwischen denen das interne Wochenzeitprogramm umschaltet.

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    Mariatschi0815 @paul53 last edited by

                    @paul53 Ich hab jetzt mal probiert das ganze über eine Variable zu lösen. An den CRONs hab ich erstmal nichts geändert. Um die Variable zu schreiben hab ich einen neuen Trigger eingefügt und eine Abfrage. Jetzt wäre es ja aber so, jedes mal wenn das Fenster auf und zu gemacht wird, wird mein Trigger ausgelöst (was ja nicht nötig wäre) kann ich das noch umgehen? Oder ist der Trigger hier generell überflüssig?

                    df2a25a0-5903-4419-be04-27bfe4a995f9-grafik.png

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

                      @mariatschi0815 sagte: kann ich das noch umgehen?

                      Nein, denn der Sollwert bei Anwesenheit kann erhöht und verringert werden, muss aber größer sein, als der Abwesenheits-Sollwert.

                      Bild_2022-01-19_180320.png

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        Mariatschi0815 @paul53 last edited by Mariatschi0815

                        @paul53 Achso, mein Gedankengang war jetzt der, dass mein Anwesenheitssollwert nur größer sein muss als die 5°C (was einem "Heizung aus" entspricht). Okay, also lässt sich der Trigger nicht umgehen.

                        Edit: Wenn ich jetzt meine Zeitpläne außerhalb vom Script anpassen möchte, also z.B. Uhrzeiten ändern. Wie könnte ich das umsetzen? Also außerhalb der vis. Da muss ich mich später auch erst noch einarbeiten. Da hab ich auch noch keine Ahnung.
                        Das würde aber auch nach sich ziehen, dass ich das Script nochmal umbauen muss. Sodass quasi mein CRON-Job neu angestoßen wird, richtig?

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

                          @mariatschi0815 sagte: Das würde aber auch nach sich ziehen, dass ich das Script nochmal umbauen muss. Sodass quasi mein CRON-Job neu angestoßen wird, richtig?

                          Ja. Prinzip

                          1 Reply Last reply Reply Quote 0
                          • M
                            Mariatschi0815 last edited by Mariatschi0815

                            Soweit jetzt erstmal mein "Roh-Entwurf".

                            8a37ddb8-77fc-4f9f-88ae-069c88d9089e-grafik.png

                            Jetzt kann ich das ganze doch aber bestimmt noch kompakter gestalten oder? Wegen dem Datenpunkt der mir Zeiten liefert um den Plan fernzusteuern bin ich noch am recherchieren, darum kann ich den Trigger auch noch nicht genau definieren.

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

                              @mariatschi0815 sagte: Trigger auch noch nicht genau definieren.

                              Du benötigst 8 Trigger und Funktionen:

                              • Uhrzeit ein/aus WT morgens
                              • Uhrzeit ein/aus WT abends
                              • Uhrzeit ein/aus WE morgens
                              • Uhrzeit ein/aus WE abends
                              M 1 Reply Last reply Reply Quote 0
                              • M
                                Mariatschi0815 @paul53 last edited by

                                @paul53 Das brauche ich, um mit einzelnen DP die jeweiligen an/aus Zeiten belgen zu können, oder? An dem Trigger wo gerade nur eine ID hängt müsste ich dann also auch 8 "Trigger-IDs" haben.

                                ba2f8c0e-246e-4dff-8c13-332431f7538e-grafik.png

                                872039df-dd25-4c38-81ac-032ab30f918e-grafik.png

                                36e37fc8-7550-4f27-af25-397c908facde-grafik.png

                                Die Stunden in den CRONs muss ich dann durch die entsprechenden IDs ändern.

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

                                  @mariatschi0815: An dem Trigger wo gerade nur eine ID hängt müsste ich dann also auch 8 "Trigger-IDs" haben.

                                  Nein, erstelle 8 Trigger mit jeweils einer ID. Stoppe nur den zugehörigen Zeitplan und rufe die zugehörige Funktion auf. Alle 8 Funktionen müssen auch bei Skriptstart aufgerufen werden, damit die Zeitpläne nicht erst nach Zeitänderung aktiv sind.

                                  Bei den Minuten ersetze den * gegen eine 0 (oder eine andere Zahl bis 59), da sonst innerhalb der vorgegeben Stunde jede Minute getriggert wird.

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    Mariatschi0815 @paul53 last edited by

                                    @paul53 Da hab ich mir ja genau das richtige "Projekt" für den Einstieg gesucht. 😅

                                    Ich hab es jetzt folgendermaßen (Hab jetzt nicht alle Trigger mit im Screenshot, hab ich so nach Schema-F durchexerziert und die CRONs sehen noch so aus wie oben):

                                    8612e3b3-5046-47a1-87e7-569823f8ff4a-grafik.png

                                    Wenn ich mir jetzt noch DP für die Zeit schaffe wäre es dann doch vermutlich schon lauffähig oder? Kann man das ganze script jetzt noch kompakter gestalten?

                                    Asgothian 1 Reply Last reply Reply Quote 0
                                    • Asgothian
                                      Asgothian Developer @Mariatschi0815 last edited by

                                      @mariatschi0815 Man kann, aber das wird Dich dem Wahnsinn etwas näher bringen (/ironie off). Wie ?
                                      Du baust Dir ein Objekt mit den ganzen Meta-Informationen zusammen und baust eine einzelne Funktion die basierend auf den übergebenen Meta-Informationen die eigentliche(n) Aktione(n) durchführt. So viele verschiedene Sind es ja letztendlich nicht.

                                      Auf diese Art und Weise kannst Du mit genau einem Multi-Trigger alles erwischen.

                                      Solltest Du daran Interesse haben können wir das gemeinsam über Anydesk / Discord zusammen bauen. Das Dir sowas von extern zusammen gebaut wird und Du es nur nutzt halte ich nicht für Gut. Zum erklären über Forum-Posts ist das ganze letztendlich auch zu komplex.

                                      A.

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        Mariatschi0815 @Asgothian last edited by

                                        @asgothian Das klingt super! Wie ich irgend wann zwischendurch schonmal erwähnt habe (ist sicher in der Menge der Posts untergegangen), möchte ich sowas gerne lernen. Darum auch der Versuch trotz vorhandenem Heizungs-Adapter mir ein Script zu bauen.

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        490
                                        Online

                                        31.9k
                                        Users

                                        80.2k
                                        Topics

                                        1.3m
                                        Posts

                                        4
                                        43
                                        1195
                                        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