Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Funktion im Script lässt sich nicht erstellen

    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

    Funktion im Script lässt sich nicht erstellen

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

      @paul53
      ich kann machen was ich will... ich hab Deine Codezeile in der Funktion hinten (siehe roter Kreis) eingegeben. Trotzdem taucht der Rest wie oben beschrieben nicht in der Funktion beim Zahnrad auf...

      Bild

      Bild
      Auch in den Funktionen links gibt es diese Auswahl nicht.

      Könntest Du mir Dein Blockly eventuell exportieren und zukommen lassen?

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

        @streetracer sagte:

        Könntest Du mir Dein Blockly eventuell exportieren und zukommen lassen?

        Habe ich im Post vorher mit einem alternativen Blockly (ohne Funktionen) gemacht.

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

          @paul53

          sorry, den Spoiler hatte ich übersehen.

          Da das Blockly mit dem regExp beim Importieren einen Fehler (nicht bekannt) gebracht hat hab ich jetzt mal testweise auf ein bestimmtes Thermostat abgeändert.

          Die Auswahl "control_mode" sollte da ja auch passen, oder?

          Blockly

          sigi234 paul53 2 Replies Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active @streetracer last edited by

            @streetracer sagte in Funktion im Script lässt sich nicht erstellen:

            @paul53

            sorry, den Spoiler hatte ich übersehen.

            Da das Blockly mit dem regExp beim Importieren einen Fehler (nicht bekannt) gebracht hat hab ich jetzt mal testweise auf ein bestimmtes Thermostat abgeändert.

            Die Auswahl "control_mode" sollte da ja auch passen, oder?

            Blockly

            Bitte keinen externen Hoster nehmen. ICON Bild hochladen verwenden.

            S 1 Reply Last reply Reply Quote 0
            • S
              streetracer @sigi234 last edited by

              @sigi234 said in Funktion im Script lässt sich nicht erstellen:

              @streetracer sagte in Funktion im Script lässt sich nicht erstellen:

              @paul53

              sorry, den Spoiler hatte ich übersehen.

              Da das Blockly mit dem regExp beim Importieren einen Fehler (nicht bekannt) gebracht hat hab ich jetzt mal testweise auf ein bestimmtes Thermostat abgeändert.

              Die Auswahl "control_mode" sollte da ja auch passen, oder?

              Blockly

              Bitte keinen externen Hoster nehmen. ICON Bild hochladen verwenden.

              ok, sorry. Wurstel mich grad noch etwas durchs Forum. Aber ich gelobe Besserung 😉

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

                @streetracer sagte:

                Blockly mit dem regExp beim Importieren einen Fehler (nicht bekannt) gebracht hat

                Alte Version des Javascript-Adapters ?

                @streetracer sagte in Funktion im Script lässt sich nicht erstellen:

                Die Auswahl "control_mode" sollte da ja auch passen, oder?

                Ja.

                1 Reply Last reply Reply Quote 0
                • S
                  streetracer last edited by

                  mit dem Script funktioniert es leider nicht. Aktueller Stand:

                  Wenn ich im Homekit auf "heizen" stelle kann ich die Temperatur wählen und der Status des Thermostats bleibt auf "heizen".

                  Ändert danach die CCU mittels ihres Automatikprogramms iwas am Thermostat wird dieser Wert nicht ins Homekit übernommen sondern das Thermostat schaltet sich dort auf "aus".

                  Es muss doch möglich sein das der von der CCU geschaltete Status quasi als Aktualisierung auf den Adapter weitergereicht wird?

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

                    @streetracer sagte:

                    Wenn ich im Homekit auf "heizen" stelle

                    Was ist "heizen" ?

                    1 Reply Last reply Reply Quote 0
                    • S
                      streetracer last edited by

                      ich versuchs mal anhand der Bilder zu erkären...

                      auf Bild 1 sieht man die möglichen Statuse des Thermostaten

                      homekit1.JPG

                      Normal sollte dieser immer wie im zweiten Bild zu sehen auf "heizen" (siehe Pfeil) stehen. Wenn man das anfangs
                      da einstellt tut er das auch. Kommt aber ein Signal von der CCU geht der Status auf "Aus" und muss bei der nächsten
                      Benutzung erst wieder händisch auf "heizen" gestellt werden bevor man dann die Temperatur auswählen kann.

                      homekit.JPG

                      Ich hoffe ich konnte es einigermassen rüber bringen....

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

                        @streetracer sagte:

                        auf Bild 1 sieht man die möglichen Statuse des Thermostaten

                        Es handelt sich nicht um HomeMatic-Thermostate ? Dann bin ich raus.
                        Das Skript im ersten Post enthält typische Datenpunkt-Bezeichner von HomeMatic-Thermostaten. So sieht der CONTROL_MODE bei HomeMatic aus:

                        Parameter CONTROL_MODE
                        Typ: option
                        Zugriffsart:

                        • lesend
                        • über Ereignisse

                        Werteliste:
                        0 = AUTO-MODE (Standard)
                        1 = MANU-MODE
                        2 = PARTY-MODE
                        3 = BOOST-MODE

                        1 Reply Last reply Reply Quote 0
                        • S
                          streetracer last edited by

                          doch, es handelt sich um ganz normale Homematic-Thermostate. (hatte nur auf der Arbeit keinen Zugriff auf das Homekit
                          und hab daher Beispielbilder aus dem Netz geladen zur Verdeutlichung was ich meine).

                          Vielleicht hab ich auch im yahka Adapter was übersehen einzustellen...? Dein Script habe ich jedenfalls 1:1 übernommen.

                          script_forum.PNG

                          yahka adapter einstellungen.PNG

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

                            @streetracer
                            Der CONTROL_MODE ist kein HeatingCoolingState ! Der HeatingCoolingState zeigt falsche Texte an.

                            1 Reply Last reply Reply Quote 0
                            • S
                              streetracer last edited by streetracer

                              @paul53 said in Funktion im Script lässt sich nicht erstellen:

                              HeatingCoolingState zeigt falsche Tex

                              Was sollte man stattdessen nehmen?Mir fällt nämlich beim Lesen der anderen Threads zu dem Thema gerade auf
                              das mein Thermostat gar keinen Datenpunkt "HeatingCoolingState" hat. Weder unter :0 noch unter :4

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

                                @streetracer sagte:

                                Was sollte man stattdessen nehmen?

                                Mit dem yahka Adapter kenne ich mich nicht aus.

                                1 Reply Last reply Reply Quote 0
                                • S
                                  streetracer last edited by

                                  thermostat.PNG

                                  Eigentlich sollte der ja hier iwo zu finden sein...

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

                                    @streetracer
                                    Du brauchst einen zum CONTROL_MODE passenden "State" des yahka Adapters, zumindest einen "State", mit dem man zwischen "Auto" und "Manu" unterscheiden kann.

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

                                      @streetracer
                                      Habe mal in den Code für den Adapter geschaut: Dort gibt es eine Konvertierung CONTROL_MODE <--> HeatingCoolingState. Die Konvertierung ist nicht aktiviert !!

                                      YAHKA_Conversion.JPG

                                      export class TIoBrokerConversion_HomematicControlMode_To_CoolingState extends TIOBrokerConversionBase implements IConversionFunction {
                                          toHomeKit(value: any) {
                                              let num = TIOBrokerConversionBase.castToNumber(value)
                                      
                                              let result = undefined;
                                              switch (num) {
                                                  case 0:
                                                      result = HAPCharacteristic.TargetHeatingCoolingState.AUTO;
                                                      break;
                                                  case 1:
                                                      result = HAPCharacteristic.TargetHeatingCoolingState.HEAT;
                                                      break;
                                                  case 2:
                                                      result = HAPCharacteristic.TargetHeatingCoolingState.HEAT;
                                                      break;
                                                  case 3:
                                                      result = HAPCharacteristic.TargetHeatingCoolingState.HEAT;
                                                      break;
                                                  default:
                                                      result = HAPCharacteristic.TargetHeatingCoolingState.OFF;
                                                      break;
                                              }
                                              this.adapter.log.debug('HomematicDirectionToHomekitHeatingCoolingState.toHomeKit, from ' + JSON.stringify(value) + '[' + (typeof value) + '] to ' + JSON.stringify(result));
                                              return result;
                                          }
                                          toIOBroker(value) {
                                              let num = TIOBrokerConversionBase.castToNumber(value)
                                      
                                              let result = undefined;
                                              switch (num) {
                                                  case HAPCharacteristic.TargetHeatingCoolingState.OFF:
                                                      result = 0;
                                                      break;
                                                  case HAPCharacteristic.TargetHeatingCoolingState.HEAT:
                                                      result = 1;
                                                      break;
                                                  case HAPCharacteristic.TargetHeatingCoolingState.COOL:
                                                      result = 0;
                                                      break;
                                                  case HAPCharacteristic.TargetHeatingCoolingState.AUTO:
                                                      result = 0;
                                                      break;
                                                  default:
                                                      result = 0;
                                                      break;
                                              }
                                              this.adapter.log.debug('HomematicDirectionToHomekitHeatingCoolingState.toIOBroker, from ' + JSON.stringify(value) + '[' + (typeof value) + '] to ' + JSON.stringify(result));
                                              return result;
                                          }
                                      }
                                      

                                      Auto = "Auto-Mode"
                                      Heat = "Manu-Mode"

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        streetracer last edited by

                                        @paul53

                                        reicht das wenn ich die Konvertierung in dem im Adapter eingebundenen Thermostat einstelle (siehe Bild)

                                        adapter neu eingerichtet.PNG

                                        oder muss ich das Script auch noch iwo unterbringen?

                                        Danke tausend Mal für deine Hilfe bisher....!

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

                                          @streetracer sagte:

                                          reicht das wenn ich die Konvertierung in dem im Adapter eingebundenen Thermostat einstelle (siehe Bild)

                                          Ja, dafür ist es da.

                                          @streetracer sagte in Funktion im Script lässt sich nicht erstellen:

                                          oder muss ich das Script auch noch iwo unterbringen?

                                          Nein, der Code, der in meinem Beitrag zu sehen ist, ist ein Auszug aus dem Adapter-Quellcode.

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          473
                                          Online

                                          31.9k
                                          Users

                                          80.1k
                                          Topics

                                          1.3m
                                          Posts

                                          funktion script
                                          3
                                          29
                                          1681
                                          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