MQTT Tasmota Leuchtmittel mit Alexa und Farbtemperatur

Begonnen von cafe88, 13 November 2019, 14:44:40

Vorheriges Thema - Nächstes Thema

cafe88

Hallo liebe FHEM'ler!

Ich bin neu hier und habe zwar ein bisschen Erfahrung mit FHEM, bin aber komplett neu beim homebridge-Thema.

Ich habe verschiedene Lampen mit und ohne Farbtemperatureinstellung (kein RGB). Davon sind einige HUEDevice's, aber eben auch ein paar MQTT-gesteuerte Tasmota-Geräte.

Bei allen HUEDevice's habe ich inzwischen raus, wie man die in Alexa tastächlich mit der Farbtemperatur-Einstellung zu sehen bekommt, das geht da ja aber auch relativ einfach über den subType ctdimmer (so fühlt sich das zumindest für mich an).

Bei den MQTT-Geräten brauche ich ja zwingend ein homebridgeMapping.
Da schaffe ich auch inzwischen, dass das an/aus-Schalten geht, auch die Helligkeit kann ich regeln, aber irgendwie funktioniert die Farbtemperatur über die ColorTemperatur-Charakteristik einfach nicht...

Ich versuche mal alle Infos zusammen zu kratzen, die ich so habe:
alexa-fhem version: 0.5.31

homebridgeMapping:
clear
On=Power,valueOn=ON,valueOff=OFF,cmdOn=Power+ON,cmdOff=Power+OFF
Brightness=Dimmer,cmd=Dimmer,minValue=20,maxValue=80,minStep=20
ColorTemperature=ct,minValue=140,maxValue=500,minStep=1,min=2700,max=6500,invert=1

Das Device hat grade nur die Readings "Power", "Dimmer" und "ct"

Ich weiß leider nicht was sonst noch wichtig ist... Also bitte einfach schreiben, wenn was fehlt!

Wenn ich das "alxa"-device neu starte, dann bekomme ich im log folgende Ausgabe:
[12/11/2019, 18:35:07] [FHEM] Nedis_3 is light
[12/11/2019, 18:35:07] [FHEM] Nedis_3 has
[12/11/2019, 18:35:07] [FHEM]   On [Power;Power ON,Power OFF]
[12/11/2019, 18:35:07] [FHEM]   Brightness [Dimmer]
[12/11/2019, 18:35:07] [FHEM]   ColorTemperature [ct]
  2019-11-12 18:35:07 caching: Nedis_3-Dimmer: 20
  2019-11-12 18:35:07 caching: Nedis_3-ct: 500

Wenn ich dann aber in der Alexa-Konsole Geräte suchen lasse, gibt der Connector nur einen BrightnessController und einen PowerController aus, also gibts in Alexa dann keine Farbtemperatur

Ich hoffe, das reicht erstmal, ich bin grade echt am verzweifeln...

Vielen lieben Dank schonmal für die Hilfe, und wenn ich hier falsch bin, dann schreit mich einfach an :-)

Martin

justme1968

was passiert wenn du das mapping für ColorTemperature weg lässt? wenn es ein set ct kommando gibt sollte alles automatisch erkannt werden.

die automatisch arbeitet aus historischen gründen mit einer privaten ColorTemperature characteristic. deshalb funktioniert deine nicht.

ich habe eben ein update eingecheckt das auch mit einer manuellen ColorTemperature characteristic klar kommen müsste.

aber: bitte kein invert verwenden und auch nicht versuchen die min und max werte selber zu setzen und dabei mired und kelvin zu mischen.

eventuell musst du in deinem device ein passendes widgetOverride setzen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

cafe88

Vielen Dank überhaupt schonmal dass du dich so lieb um ein Einzelschicksal bemühst :D

Wenn ich das Mapping wegnehme wird es nicht besser, wieder nur Brightness und Power Controller.

Wenn ich update (habe ich jetzt der Einfachheit halber verwerflicherweise über ein copy ins node_modules Verzeichnis gemacht und mit npm install bereingt, sollte ja aber kein Problem sein, oder?) dann gibt es die folgende Fehlermeldung bei einer Discovery durch den Echo:

[13/11/2019, 18:12:35] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated.
[13/11/2019, 18:12:50] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.Discovery","name":"Discover","payloadVersion":"3","messageId":"45bba37d-4368-4d32-a52b-0a5895676eef"},"payload":{"scope":{"type":"BearerToken","token":"blueh"}}}}
[13/11/2019, 18:12:50] ReferenceError: ColorTemperature is not defined
    at deviceToEndpoints (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:2927:23)
    at Server.handleDiscovery3 (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:3156:25)
    at Server.handler (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:2241:47)
    at Server.verifyToken (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:1377:23)
    at Server.processBody (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:147:31)
    at Server.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:158:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
[13/11/2019, 18:12:50] <<<< [ssh] null

Hab ich das jetzt verkackt?

Einen schönen Abend noch!

cafe88


justme1968

mein fehler. mach noch mal ein update. jetzt sollte es gehen.

warum installierst du per copy und nicht ganz normal mit npm update -g ?

das widgetOverride wäre dazu da dem ct kommando die passenden min und max werte zu verpassen. das ist dann später die kür.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

cafe88

npm -g update benutze ich nicht weil das update des npm repos langsamer ist als git ^^

Es funktioniert jetzt - fast :D

Die Farbtemperaturen werden von Alexa in Kelvin übertragen und alexa-fhem rechnet die manuelle ColorTemperature offenbar dann nicht in mired um. Es wird immer ein set für sowas wie 2200 oder 6500 ausgelöst.

Aber ein großer Schritt ist getan, vielen Dank dafür!!

Sammelst du irgendwo spenden?

justme1968

#6
die umrechnung sollte automatisch erfolgen wenn der wertebereich richtig ausgelesen werden kann.

was zeigt denn fhemweb als widget an? einen slider? wenn nein: genau hier kommt das widget override ins spiel :) oder jeder andere weg mit dem du deinem mqtt device beibringen kannst auf ein set ? mit den richtigen werten zu antworten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

cafe88

Hab jetzt mal auf die schnelle ein widgetOverride gebaut

ct:colorpicker,CT,500,1,150 (alternativ ct:colorpicker,CT,150,1,500)

zeigt richtig an in FHEM, kann ich auch richtig steuern mit dem Slider.

Alexa habe ich danach neu gestartet, aber das sendet immer noch die Werte in Kelvin.

Hatte jetzt im homebridgeMapping mal die minValue/maxValue rausgenommen oder mit rein gemacht, hat nicht viel geholfen.

Mal morgen genauer anschauen :-)

justme1968

schmeiß mal dein mapping ganz raus und schau ob es automagisch richtig erkannt wird.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

cafe88

Wenn ich das mapping ganz entferne wird jetzt der ColorTemperatureController richtig übermittelt, dafür gibt es aber natürlich die Brightness- und PowerController nicht mehr...

Wenn ich nur On + brightness reinnehme und das ganze ohne clear geht jetzt sogar die ColorTemperature auch automagically, aber eben auch mit den falschen Wertebereichen...

Meine Frau killt mich gleich, ich melde mich Morgen wenn ich wieder spielen darf :D Danke und einen schönen Abend noch :-)

justme1968

ich weiss woran es liegt. nachher kommt ein update.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

so...

ich habe eben eine alexa-fhem version eingecheckt bei der das ColorTemperature handling komplett überarbeit wurde.

probier mal ob es jetzt bei dir geht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

cafe88

Wow, da hast du ja nen bissl was dran geschafft dem commit nach :D

Es funktioniert!!

Vielen lieben Dank nochmal, kann man irgendetwas für dich tun?

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968