NEWS
Funktion im Script lässt sich nicht erstellen
-
@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 -
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.
-
@streetracer
Der CONTROL_MODE ist kein HeatingCoolingState ! Der HeatingCoolingState zeigt falsche Texte an. -
@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 -
@streetracer sagte:
Was sollte man stattdessen nehmen?
Mit dem yahka Adapter kenne ich mich nicht aus.
-
Eigentlich sollte der ja hier iwo zu finden sein...
-
@streetracer
Du brauchst einen zum CONTROL_MODE passenden "State" des yahka Adapters, zumindest einen "State", mit dem man zwischen "Auto" und "Manu" unterscheiden kann. -
@streetracer
Habe mal in den Code für den Adapter geschaut: Dort gibt es eine Konvertierung CONTROL_MODE <--> HeatingCoolingState. Die Konvertierung ist nicht aktiviert !!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" -
reicht das wenn ich die Konvertierung in dem im Adapter eingebundenen Thermostat einstelle (siehe Bild)
oder muss ich das Script auch noch iwo unterbringen?
Danke tausend Mal für deine Hilfe bisher....!
-
@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.