Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Einfache Temperatursteuerung geht nicht

    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

    Einfache Temperatursteuerung geht nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tritor @ceulem last edited by

      @ceulem
      Ist die Temperatur nicht eine Zahl?
      Versuche die grünen Textbausteine gegen Zahl auszutauschen.
      Zahl findest du unter Mathematik.

      C 1 Reply Last reply Reply Quote 0
      • C
        ceulem @tritor last edited by

        @tritor hatte ich auch schon, da ist die Steckdose weder an noch aus gegangen.

        haselchen Homoran 2 Replies Last reply Reply Quote 0
        • haselchen
          haselchen Most Active @ceulem last edited by haselchen

          @ceulem

          Probier es mal mit einem Komma.

          25,5

          Und tatsächlich wäre der Matheblock der Richtige.

          https://forum.iobroker.net/topic/28318/temperatur-gesteuertes-schalten-switch-1-0-c

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

            @ceulem sagte in Einfache Temperatursteuerung geht nicht:

            @tritor hatte ich auch schon, da ist die Steckdose weder an noch aus gegangen.

            nein, muss Zahl sein.

            hmip über ccu?

            C 1 Reply Last reply Reply Quote 0
            • C
              ceulem @Homoran last edited by

              @homoran ja, über ccu

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

                @ceulem sagte in Einfache Temperatursteuerung geht nicht:

                @homoran ja, über ccu

                dann muss die Ursache woanders sein!

                welche Kanäle hat der Schaltaktor?
                ist 3 ein Schaltkanal? (oder nur die Zustandsanzeige)?

                C 1 Reply Last reply Reply Quote 0
                • C
                  ceulem @Homoran last edited by

                  @homoran 3 ist der Schaltkanal.

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

                    @ceulem dann noch mal auf zahlen ändern und debug Bausteine setzten um zu sehen wo es hängt

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

                      @ceulem sagte: eine HmIP Steckdose schalten

                      Bei HmIP auch an den Duty cycle denken, d.h. nur dann Senden, wenn sich der Zustand des Aktors ändern soll.

                      Bild_2021-06-16_220800.png

                      Wert findet man unter "Trigger".

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

                        @paul53 Stimmt, habe ich nicht dran gedacht. Wo ich allerdings noch ein wenig auf dem Schlauch stehe, im letzten Block deines Skriptes "vom Objekt ID" kommt wieder der Temperatur Sensor rein oder?

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

                          @ceulem sagte: "vom Objekt ID" kommt wieder der Temperatur Sensor rein oder?

                          Nein, der Aktor. Ich dachte, dass die Aussage "nur dann Senden, wenn sich der Zustand des Aktors ändern soll", dies erklärt.

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

                            @paul53 Das Skript funktioniert bei mir nicht und für zu einer Fehlermeldung
                            Mit den debug blöcken kenn ich mich garnicht aus.

                            6a69fa9e-c5f4-401f-babd-e26f1c225933-image.png

                            So sieht das Skript aktuell aus:

                            var Aktor, Wert;
                            
                            
                            on({id: 'hm-rpc.1.000A9A49A4D2B9.1.ACTUAL_TEMPERATURE', change: "ne"}, async function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              if (Wert <= 25) {
                                Aktor = false;
                              } else if (Wert >= 25.5) {
                                Aktor = true;
                              }
                              if (Aktor != getState("hm-rpc.1.0001D3C99C77A2.3.STATE").val) {
                                setState("hm-rpc.1.0001D3C99C77A2.3.STATE"/*HMIP-PSM 0001D3C99C77A2:3.STATE*/, Aktor);
                              }
                            });
                            
                            //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyWHI5VHdoViU2MCUzQWk2eV9sKGRZdm0lM0QlMjIlM0VBa3RvciUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMkNqRlIlN0QoJTdESiUyNSU2MEclMjNOJTJCJTJCNElXQ0wlMjIlM0VXZXJ0JTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMiElM0YoJTNCd0JiOEcweDg0JTVFZjZZJTVCTHglMjIlMjB4JTNEJTIyLTY4OCUyMiUyMHklM0QlMjItNTg3JTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwaXRlbXMlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMmolMjNzQjF6Y08lM0QlM0RtN1VZYjAlNURmNEUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VobS1ycGMuMS4wMDBBOUE0OUE0RDJCOS4xLkFDVFVBTF9URU1QRVJBVFVSRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMiU0MGUlMkZpQ083a2o5JTdEJTNCSlklN0IlM0RTTDAuJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlaWYlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIwNmglN0RCUGdTNmRkalJzJTJGcU0lMjU5ISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTFRFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIySCklM0JnNWIlNUJ+JTJDJTNBfiU1RSUyNTRFJTQwQ3kuJTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJDakZSJTdEKCU3REolMjUlNjBHJTIzTiUyQiUyQjRJV0NMJTIyJTNFV2VydCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTNEMC4lM0RrJTVESSUyM2ElM0ZQUSp0JTI1cTQlM0JWQyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTI1JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJmKTQueX45NUo1MEdpNXhlJTQwN3UlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMlhyOVR3aFYlNjAlM0FpNnlfbChkWXZtJTNEJTIyJTNFQWt0b3IlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyUTAhRFpMKjRPJTVFTzElM0FwLkhBMjElNUQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMk9+WXd5QyU3QygweWoqdGpIJTJCS1d+aCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1RFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyZEVBJTNCUndJRSUyQlNWN0NhciUyQiUzRlJJJTVFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJDakZSJTdEKCU3REolMjUlNjBHJTIzTiUyQiUyQjRJV0NMJTIyJTNFV2VydCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyaGhRM1BTfkFDLXMlNUQpTTViRSU0MGN3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjUuNSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8xJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyVG5KMSl3KnJOJTJCNk4wJTIzJTdEWXNlZFAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMlhyOVR3aFYlNjAlM0FpNnlfbChkWXZtJTNEJTIyJTNFQWt0b3IlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTJGc2tlJTNBWkkhcGMlMkI0KE5lJTQwJTI0dVNqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIybiUzRCU3RCpINVdTeX5WSFNmJTNEJTNCLkNFSiUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMmgxSzIlNDBjJTQwbCUyM3M4T1hjJTYwKVBuJTNCRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTkVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyaSU1RCUzQmx+MDkqR2ooUE9LKDNYV0RSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJYcjlUd2hWJTYwJTNBaTZ5X2woZFl2bSUzRCUyMiUzRUFrdG9yJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyOVRKJTdDNV9lKG10aDklM0FqJTIzJTJDeG5LeiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWhtLXJwYy4xLjAwMDFEM0M5OUM3N0EyLjMuU1RBVEUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMnR2KWxFWVp0JTVCbCUyRig2JTdESXBSaSUyNC0lMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VobS1ycGMuMS4wMDAxRDNDOTlDNzdBMi4zLlNUQVRFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyYmslMjVlVDA0amZZcERTM00lN0IlMkMuWCU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyWHI5VHdoViU2MCUzQWk2eV9sKGRZdm0lM0QlMjIlM0VBa3RvciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
                            

                            e454259f-eff8-49ae-a6f4-0aae5e15c346-image.png

                            Asgothian C paul53 3 Replies Last reply Reply Quote 0
                            • Asgothian
                              Asgothian Developer @ceulem last edited by

                              @ceulem

                              Das Skript funktioniert schon. Allerdings hat das Skript eine Lücke:

                              Die Variable Aktor ist nicht definiert wenn die Temperatur zwischen 25 und 25.5 Grad liegt.

                              Genau darüber beschwert sich das Skript. Ich würde als ersten Block im Skript die Variable Aktor mit dem Wert von 'hm-rpc.1.0001D3C99C77A2.3.STATE' vorgelegen.

                              Dann sollte es gehen.

                              A.

                              1 Reply Last reply Reply Quote 0
                              • C
                                Chrunchy @ceulem last edited by

                                @ceulem Ich kenne nur javascript ein wenig...
                                In Zeile 1 erstellst du die Variable Wert, ohne einen Inhalt zuzuweisen.

                                In Zeile 7 prüfst du, ob Wert <= 25 ist. Aber was genau steht in Wert?

                                Ersetzte in Zeile 5 das value durch Wert, dann sollte es passen, zumindest was die Prüfung angeht.

                                Warum muss die zweite Prüfung eine else if sein?
                                Reicht nicht an else bei einem Wert >25?

                                Der Fehler besagt aber, dass Aktor beim setState in Zeile 13 das falsche Format hat.
                                Zeile 2 z.B.

                                var Aktor = new Boolean(false);
                                

                                Und Aktor aus Zeile 1 löschen.

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

                                  @ceulem sagte: So sieht das Skript aktuell aus:

                                  Wert darf keine selbst erstellte Variable sein, sondern unter "Trigger":

                                  Blockly_DP_Props.JPG

                                  Initialisiere die Variable Aktor außerhalb des Trigger-Blockes auf den Wert des Aktors.

                                  Bild_2021-06-17_132520.png

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

                                    @paul53 Danke, so scheint es jetzt zu funktionieren. Es gibt zwar eine Verzögerung, aber damit kann ich leben.

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    929
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    7
                                    17
                                    471
                                    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