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.
    • 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

                        584
                        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