Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Klimaanlagen nach eingestellter Zeit ausschalten

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Klimaanlagen nach eingestellter Zeit ausschalten

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

      @mojo1985 sagte: Allerdings kann ich die da nicht löschen.

      Die wird gelöscht, wenn bei nicht Intervall die andere Variable Intervall selektiert wird und anschließend in die Javascript-Ansicht und wieder zurück gewechselt wird.

      Ist der Datenpunkt vom Typ Zahl? Das muss er sein!

      Mojo1985 1 Reply Last reply Reply Quote 1
      • Mojo1985
        Mojo1985 @paul53 last edited by

        @paul53 Sehr gut - so hat das löschen funktioniert 👍
        Datenpunkt ist als Zahl definiert. Leider immer noch das gleiche Verhalten. Springt vom eingegebenem Wert auf "-1".

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

          @mojo1985 sagte: Springt vom eingegebenem Wert auf "-1".

          Dann kontrolliere mal den Typ vom Wert des Datenpunktes mittels Dubug-Block und wandle sicherheitshalber nach Zahl:

          Bild_2022-07-20_224848979.png

          Mojo1985 1 Reply Last reply Reply Quote 1
          • Mojo1985
            Mojo1985 @paul53 last edited by

            @paul53 Es funktioniert! 😀
            Vielen Dank für deine schnelle und kompetente Hilfe! Das hätte ich im Leben nicht hinbekommen! Dann lags wahrscheinlich wirklich irgendwie am Datenpunkt 🤔

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

              Ich hätte da vielleicht doch noch eine kleine Frage 😬

              ... ich habe noch eine Funktion realisiert, dass alle Klimageräte gleichzeitig laufen. Dazu habe ich eine Szene erstellt, die die einzelnen Klimageräte mit bestimmten Werten steuert (max. Kühlleistung).

              Der Datenpunkt der Szene sieht folgendermaßen aus:

              {
                "common": {
                  "name": "Alle_Klimageräte_an",
                  "type": "number",
                  "role": "scene.state",
                  "desc": "Alle Klimageräte an",
                  "enabled": true,
                  "read": true,
                  "write": true,
                  "def": false,
                  "engine": "system.adapter.scenes.0",
                  "smartName": {
                    "de": "Eiszeit"
                  }
                },
                "native": {
                  "onTrue": {
                    "trigger": {},
                    "cron": null,
                    "astro": null
                  },
                  "onFalse": {
                    "enabled": true,
                    "trigger": {},
                    "cron": null,
                    "astro": null
                  },
                  "easy": true,
                  "burstInterval": 150,
                  "virtualGroup": false,
                  "members": [
                    {
                      "id": "airconwithme.1.userMode",
                      "setIfTrue": 4,
                      "setIfFalse": null,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.1.userSetpoint",
                      "setIfTrue": 18,
                      "setIfFalse": null,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.1.fanSpeed",
                      "setIfTrue": 4,
                      "setIfFalse": null,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.1.on",
                      "setIfTrue": 1,
                      "setIfFalse": 0,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.2.userMode",
                      "setIfTrue": 4,
                      "setIfFalse": null,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.2.userSetpoint",
                      "setIfTrue": 18,
                      "setIfFalse": null,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.2.fanSpeed",
                      "setIfTrue": 4,
                      "setIfFalse": null,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.2.on",
                      "setIfTrue": 1,
                      "setIfFalse": 0,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.3.userMode",
                      "setIfTrue": 4,
                      "setIfFalse": null,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.3.userSetpoint",
                      "setIfTrue": 18,
                      "setIfFalse": null,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.3.fanSpeed",
                      "setIfTrue": 4,
                      "setIfFalse": null,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    },
                    {
                      "id": "airconwithme.3.on",
                      "setIfTrue": 1,
                      "setIfFalse": 0,
                      "stopAllDelays": true,
                      "desc": null,
                      "disabled": false,
                      "delay": 0
                    }
                  ]
                },
                "type": "state",
                "_id": "scene.0.Alle_Klimageräte_an",
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1658407377357,
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                }
              }
              

              Jetzt habe ich vor damit auch einen Timer zu realisieren (genau wie bei der Einzelsteuerung).
              Hier habe ich wieder das Problem, dass der Datenpunkt des Timers ins negative läuft. Außerdem läuft der Timer zu schnell. Der Wert wird ca. alle 20 Sek. um 1 reduziert. Er sieht so aus:

              {
                "common": {
                  "name": "Timer Klima alle",
                  "desc": "Manuell erzeugt",
                  "role": "state",
                  "type": "number",
                  "read": true,
                  "write": true,
                  "def": 0
                },
                "type": "state",
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1658328739320,
                "_id": "0_userdata.0.Blockly.Timer_Klima_alle",
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                }
              }
              

              Weiß jemand wie das Problem zu beheben ist?
              Den Timer habe ich genau wie oben umgesetzt.

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

                @mojo1985 sagte: Er sieht so aus:

                Ändere mal "role" von "state" in "level".

                Mojo1985 1 Reply Last reply Reply Quote 1
                • Mojo1985
                  Mojo1985 @paul53 last edited by

                  @paul53 Es funktioniert. Ich bin begeistert! Aber warum muss ich jetzt für diesen Datenpunkt "level" nehmen? Oder würde die Ausführung der Thematik jetzt den Rahmen sprengen?

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

                    @mojo1985 sagte: warum muss ich jetzt für diesen Datenpunkt "level" nehmen?

                    "level" oder "level.timer" ist die korrekte Rolle für eine Zahl, die auch geschrieben werden kann.
                    Anscheinend wertet der Admin-Adapter neuerdings die Rolle aus?

                    Mojo1985 1 Reply Last reply Reply Quote 1
                    • Mojo1985
                      Mojo1985 @paul53 last edited by Mojo1985

                      @paul53 ah, verstehe! 💡 ... und vielen Dank auch für den Link! Zukünftig werde ich den DP mehr Aufmerksamkeit zukommen lassen. Fraglich ist aber, warum es bei den anderen DP mit Rolle "State" funktioniert

                      Mojo1985 1 Reply Last reply Reply Quote 0
                      • Mojo1985
                        Mojo1985 @Mojo1985 last edited by

                        Doch zu früh gefreut... die Zeit läuft jetzt zwar nicht mehr zu schnell runter. Dafür geht der Wert dennoch ins negative

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

                          @mojo1985 sagte: geht der Wert dennoch ins negative

                          Ist die Wandlung nach Zahl enthalten?

                          Mojo1985 1 Reply Last reply Reply Quote 1
                          • Mojo1985
                            Mojo1985 @paul53 last edited by

                            @paul53 Ja, die Wandlung nach Zahl ist enthalten 🤔

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

                              @mojo1985 sagte: Ja, die Wandlung nach Zahl ist enthalten

                              Dann kann -1 nur erreicht werden, wenn der eingegebene Wert nicht in eine Zahl > 0 gewandelt werden kann.

                              Mojo1985 1 Reply Last reply Reply Quote 1
                              • Mojo1985
                                Mojo1985 @paul53 last edited by

                                @paul53 Der Wert wird im Datenpunkt richtig angezeigt und auch ordnungsgemäß runtergezählt.
                                Spricht etwas dagegen den Wert einfach am Ende des Scripts auf 0 zu setzen?

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

                                  @mojo1985 sagte: Spricht etwas dagegen den Wert einfach am Ende des Scripts auf 0 zu setzen?

                                  Das passiert doch, wenn runter gezählt wurde. Bevor das Intervall gestoppt wird, wird der Wert 0 geschrieben.

                                  Mojo1985 1 Reply Last reply Reply Quote 1
                                  • Mojo1985
                                    Mojo1985 @paul53 last edited by

                                    @paul53 Stimmt... dann würde der Wert sicher trotzdem ins negative zählen. Mist.

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

                                      @mojo1985
                                      Begrenze mal den Wert.

                                      Bild_2022-07-21_195745507.png

                                      Mojo1985 1 Reply Last reply Reply Quote 1
                                      • Mojo1985
                                        Mojo1985 @paul53 last edited by

                                        @paul53 Hab ich gerade gemacht. Bringt leider keinen Effekt 😦

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

                                          @mojo1985 sagte: Bringt leider keinen Effekt

                                          Dann poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                                          Mojo1985 1 Reply Last reply Reply Quote 1
                                          • Mojo1985
                                            Mojo1985 @paul53 last edited by

                                            @paul53 Ich habs... war natürlich mein Fehler. Ich habe aus versehen das falsche Intervall stoppen lassen 🤦. Hätte mir eigentlich sofort auffallen müssen...

                                            Vielen Dank noch mal für deine Unterstützung @paul53 👍 👍

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            560
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            33
                                            1018
                                            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