Milight via MQTT (war: Modul für Sidoh-Bridge, jetzt: MQTT2)

Begonnen von Beta-User, 12 April 2018, 23:23:41

Vorheriges Thema - Nächstes Thema

Beta-User

....mal was anderes  :) :

Neulich hatte ich ja den Gedanken, man könnte die MiLight-Fernbedienungen ja eigentlich ganz gut als Input-Device für alles mögliche nutzen - 8 (bzw. 9) Modi/Kanäle mit je 9 Tasten - drei davon eindeutig als "Level" bzw. Farbeingaben nutzbar ist ja schließlich was...
Da jetzt die Lieferung aus China schon eine ganze Zeit darauf wartet, dass in die Richtung tatsächlich was passiert, anbei mal mein "erster Wurf" zur Steuerung meines MPD. (Der hat ganz schön Last auf meinem Server erzeugt, bis ich ihm verboten habe, die Datenbank zu lesen....).

So kann ich jetzt neben Lautstärke und play/pause/stop auch den consumer-Modus umstellen (geht mit der von mir genutzten Handy-App nicht) und (das war wichtig!) den replay_gain_modus.

Das ist ganz ohne  template, ungenutzt sind noch hue und color_temp - da habe ich noch nicht die durchschlagende Idee... ::)

RAW-Definitionen bzw. der myUtils-Code:
defmod MiLight_RC1_8 MQTT2_DEVICE milight_0xABCD_8
attr MiLight_RC1_8 readingList milight/updates/0xABCD/fut089/8:.* { json2nameValue($EVENT) }\
milight/states/0xABCD/fut089/8:.* { json2nameValue($EVENT) }

defmod n_MiLight_RC1_8 notify MiLight_RC1_8:(ON|OFF|(brightness|command|bulb_mode).*) {milight_to_MPD("myMPD",$EVENT)}


sub milight_to_MPD($$) {
  my ($name,$Event) = @_;
  return "" if ReadingsVal($name,"presence","absent") eq "absent";
  if($Event =~ /OFF|ON/) {
    my $command = (ReadingsVal($name,"state","play") eq "pause" and $Event =~ /OFF/) ? "stop" : ReadingsVal($name,"state","play") ne "stop" ? "pause" : "play";
    CommandSet(undef, "$name $command");
  } elsif ($Event =~ /brightness/)  {
    my ($reading,$value) = split (/ /,$Event);
    my $volume = int (round ($value/2,55));
    CommandSet(undef, "$name volume $volume");
  } elsif ($Event =~ /mode_speed_down/)  {
    CommandSet(undef, "$name previous");

  } elsif ($Event =~ /mode_speed_up/)  {
    CommandSet(undef, "$name next");

  } elsif ($Event =~ /scene/)  {
    my $gainmode = CommandSet(undef, "$name mpdCMD replay_gain_status") =~ /album/ ? "auto" : "album";
   
    CommandSet(undef, "$name mpdCMD replay_gain_mode $gainmode");
     
  } elsif ($Event =~ /bulb_mode.*white/)  {
    my $consumer = CommandSet(undef, "$name mpdCMD status") =~ /consume. 0/ ? "1" : "0";
    CommandSet(undef, "$name mpdCMD consume $consumer");

  } else {

  } 
}


Bei Gelegenheit versuche ich mich mal daran, eine HUE-Bulb mit einem anderen Kanal zu steuern...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Heimweh

Hallo Beta-User,

ich versuche gerade nachzuvollziehen bzw. zu verstehen wieso meine Milights (wenn Sie z.B. in rot auf 30% Helligkeit laufen) bei einem Farbwechsel über "Alexa schalte XY blau" auf 100% Helligkeit gehen wenn sie nach blau umschalten. Ich weiss Du hast keine Alexa - aber mal ganz grundsätzlich eine Frage:

brightness:colorpicker,BRI,0,15,255 milight/0x15B1/rgbw/1 {"$EVTPART0":"$EVTPART1"}

Das ist aus einem Deiner Templates - und Du übergibst damit den Wert brightness - dass $EVTPART1 ist der Wert der brightness - dann müsste das $EVTPART0 der Befehl "brightness" sein richtig?
Und das verstehe ich nicht. Kommt das so aus dem Colorpicker? Wie "füllt" sich die Variable "$EVTPART0"?

RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

Beta-User

Zitat von: Heimweh am 02 September 2019, 14:15:34
dann müsste das $EVTPART0 der Befehl "brightness" sein richtig?

Und das verstehe ich nicht. Kommt das so aus dem Colorpicker? Wie "füllt" sich die Variable "$EVTPART0"?
Nein, aus dem Colorpicker kommt nur der Wert ($EVTPART1), das $EVTPART0 kommt aus der ersten Angabe der Zeile. Hieße das
Helligkeit:colorpicker,BRI,0,15,255 milight/0x15B1/rgbw/1 {"$EVTPART0":"$EVTPART1"} würde "Helligkeit" zurückgeliefert usw. (was aber dann die Bridge nicht kennen würde).
(Zum Verständnis: die Option, da $EVTPARTx nutzen zu können, hatte Rudi dankenswerterweise eingebaut, um solche Widgets nutzen zu können, v.a. also $EVTPART1 abzugreifen. "Eigentlich" war das nicht dazu gedacht, auch $EVTPART0 zu übergeben, aber weil es funktionierte und Schreibfehleroptionen minimiert, findet sich jetzt eben die Variable und nicht der eigentlich feste Text im template... Das hat also keine tiefere Bedeutung ;D .)

Zu deinem eigentlichen Problem:
Um rauszufinden, wer da wie beteiligt ist, solltest du mal nachsehen, was von welcher Seite an MQTT-Messages ausgetauscht wird (z.B. mit RAW-Events am MQTT2_SERVER). Ich würde annehmen, dass Alexa für dieses Verhalten verantwortlich ist und einen 100%-Befehl "dazudichtet"...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Heimweh

Aha :) Danke für die ausführliche Erklärung! Das macht es jetzt für mich plausibel.

Ich dachte dass sich die Alexa möglicherweise an der Setlist der Templates bedient.... Dann geht die Suche in eine andere Richtung!

Vielen Dank dass Du Dir für meine Anfänger Fragen immer so viel Zeit nimmst!

Gesendet von meinem LYA-L29 mit Tapatalk

RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

Beta-User

Zitat von: Heimweh am 02 September 2019, 15:38:16
Ich dachte dass sich die Alexa möglicherweise an der Setlist der Templates bedient.... Dann geht die Suche in eine andere Richtung!
Hmm, meine Erläuterung zur setList schließt  das aber nicht aus; es ist m.E. sogar ziemlich wahrscheinlich, dass genau das der Fall ist: Jedes (Geräte-) Modul muß ja z.B. FHEMWEB sagen, welche "Setter" es gibt. Das kann nicht nur FHEMWEB, sondern jedes beliebige andere Modul auch auswerten und dann z.B. im ersten Angang eben davon ausgehen, dass ein Gerät, das on/off und brightness kennt, eine dimmbare Leuchte ist. Mit dim oder level könnte es noch ein shutter-Device sein, da wird es dann beim Erraten schon weniger eindeutig...
Was das andere Modul dann jeweils daraus macht, steht auf einem anderen Blatt, ebenso, dass manche Device-Typen zwischen dem Einschaltlevel und den Einschaltbefehl ziemlich klar trennen (afaik mindestens Hue und ZWave), manche dimmen vorher runter, bevor sie FHEM ausschalten lassen, was dann ebenfalls "korrigiert" werden muß.

Mal schauen, was deine MQTT-Analyse zeigt.

Zitat von: Heimweh am 02 September 2019, 15:38:16
Vielen Dank dass Du Dir für meine Anfänger Fragen immer so viel Zeit nimmst!
:) Gerne!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

Hi,

Alexa dichtet einen 100% Befehl dazu, das sieht man im Alexa-Log.

Mit Licht hab ich es aber nicht so und nie richtig mit beschäftigt.

Hier mal ein Auszug während die Lampe an ist und auf 30 Prozent gestellt wird, dann auf Rot:

[2019-9-2 4:34:59 PM] >>>> [srv] {"directive":{"header":{"namespace":"Alexa.BrightnessController","name":"SetBrightness","payloadVersion":"3","messageId":"cac4f3b4-6407-4845-b994-4630e47ff8e8","correlationToken":"AAAAAAAAAQD8wgCX0kEZAc9DM6Vw32cLDAIAAAAAAACKEiRaC3cLNvn/IflL37VD2P8H6cLKVOBU31IWL9/D0hPLZgBntZs6OvZR/bzmxgmdMRsw2U8b+TEWHflbrNmQ3Ke4b/SGC8H/YHUnN7Vw5IqCop+Z4Zl0/IumXOCsZbguqf7fUldj1irgN/46+rc3thYQgOaSmZ1+bo6KznzZH5zwvDfC0y31t2tMnkTQWOA7Fjn0F/o9z1T4uczBpv9Mq9BEPV8iZ+pd0Sr772p83BgLP/ZnM7+mpJo/2Pmn7g7EKsqsVYL9r/u5TOdIOCWC61CySkulbM2T+IXCK56hnoGctxzonG3lfr3NzsdG3CC2nsOfYRbkhn+12YYhhbZksnzec6hODNkbFyaaDGOptiIP9jWkFO1eyEdKifJDX0vXKmx5o9IVaxy2CtpuNF8xa/IreAcjyDrC7eERlI0yTLyYclYOa+hmXkY+zIPJUgpCFQUkw985fchblatORiL0NtSBzUwkpBbY0oclp0CafFy+OF1MzGewVn8jsKi1xl63px7vysKU/N5WUNiXU+S7FMnEDoTan4L+z+0JDRD557MKtbzypDd/+PQlzpK1DrRKvhRywrHiQnRmu6Y8wZCcoIbKeQc1pSp+uHcWhTH6ypOqSMeoThA1D3F0haXXsaM5eDbNbWtNNZBnhjOjpQwns28676mdSAxovgcYUbNiN2c63VMGovYLtuer9w=="},"endpoint":{"scope":{"type":"BearerToken","token":"Atza|IwEBIFRJu9DGNHSpvmxs5cCybV3xbDlTr6sjpBX29B4PxOuMeXc-ug0ufiSABBYejhIou81j2j--bFuyQW7sbf9hv7FwPlLURzsLibqQ16hXH83wlrIZo5oVuqcxSRXZySvzAEd2uYIUt6luyCJxabRcDndq7L4Phtpw4C4wJLe1H3HyDyOqf8GQaLM5BzXVICz359yPrNVIrvW2MF7qOaKSOa_n6mAvUBJT2gnaG7TefYW7O4Pzz-THeAX4rG1jJxm9V6rVQNEA5OZg5F5xwAQpdCWChWcWBEsuC94ao6TmZZcL-YdENC6EVRRPyRAvZDFXFukBgtXTIHuYztau7A5L1oxczKQ0bIEo0h4Bv-UrA_C0iWrLh9c8KnXgZUrA2-n-6FFyioyBZipTJ3JgSn2wiWSX21g0dj77Fky3WUkB_FlIP5WXbAxZh3hppUEGXKpK_30L0U9zhQnrNp7KvQ7mXgsx9g6ECzm-XiZtV2ZjZEcQtnWkP4M07TvWJFRFeVlJY3U"},"endpointId":"5ca22186-f33f-78f5-f311-f4eb49cbf00f7ebb","cookie":{"fuuid":"5ca22186-f33f-78f5-f311-f4eb49cbf00f7ebb","device":"MQTT2_Mi_Wecklicht"}},"payload":{"brightness":30}}}
[2019-9-2 4:34:59 PM] accepted new token
[2019-9-2 4:34:59 PM] [FHEM]     caching: Brightness: 255 (as string; from '255')
[2019-9-2 4:34:59 PM] [FHEM] MQTT2_Mi_Wecklicht: executing set cmd for Brightness with value 30
[2019-9-2 4:34:59 PM] [FHEM]   executing: http://192.168.188.26:8083/fhem?cmd=set%20MQTT2_Mi_Wecklicht%20brightness%2077&XHR=1
[2019-9-2 4:34:59 PM] <<<< [srv] {"context":{"properties":[{"namespace":"Alexa.BrightnessController","name":"brightness","value":30,"timeOfSample":"2019-09-02T14:34:59.730Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"Response","payloadVersion":"3","messageId":"8bc0c02a-23ac-4c98-b0b1-98acc4ffb0f0","correlationToken":"AAAAAAAAAQD8wgCX0kEZAc9DM6Vw32cLDAIAAAAAAACKEiRaC3cLNvn/IflL37VD2P8H6cLKVOBU31IWL9/D0hPLZgBntZs6OvZR/bzmxgmdMRsw2U8b+TEWHflbrNmQ3Ke4b/SGC8H/YHUnN7Vw5IqCop+Z4Zl0/IumXOCsZbguqf7fUldj1irgN/46+rc3thYQgOaSmZ1+bo6KznzZH5zwvDfC0y31t2tMnkTQWOA7Fjn0F/o9z1T4uczBpv9Mq9BEPV8iZ+pd0Sr772p83BgLP/ZnM7+mpJo/2Pmn7g7EKsqsVYL9r/u5TOdIOCWC61CySkulbM2T+IXCK56hnoGctxzonG3lfr3NzsdG3CC2nsOfYRbkhn+12YYhhbZksnzec6hODNkbFyaaDGOptiIP9jWkFO1eyEdKifJDX0vXKmx5o9IVaxy2CtpuNF8xa/IreAcjyDrC7eERlI0yTLyYclYOa+hmXkY+zIPJUgpCFQUkw985fchblatORiL0NtSBzUwkpBbY0oclp0CafFy+OF1MzGewVn8jsKi1xl63px7vysKU/N5WUNiXU+S7FMnEDoTan4L+z+0JDRD557MKtbzypDd/+PQlzpK1DrRKvhRywrHiQnRmu6Y8wZCcoIbKeQc1pSp+uHcWhTH6ypOqSMeoThA1D3F0haXXsaM5eDbNbWtNNZBnhjOjpQwns28676mdSAxovgcYUbNiN2c63VMGovYLtuer9w=="},"endpoint":{"scope":{"type":"BearerToken","token":"Atza|IwEBIFRJu9DGNHSpvmxs5cCybV3xbDlTr6sjpBX29B4PxOuMeXc-ug0ufiSABBYejhIou81j2j--bFuyQW7sbf9hv7FwPlLURzsLibqQ16hXH83wlrIZo5oVuqcxSRXZySvzAEd2uYIUt6luyCJxabRcDndq7L4Phtpw4C4wJLe1H3HyDyOqf8GQaLM5BzXVICz359yPrNVIrvW2MF7qOaKSOa_n6mAvUBJT2gnaG7TefYW7O4Pzz-THeAX4rG1jJxm9V6rVQNEA5OZg5F5xwAQpdCWChWcWBEsuC94ao6TmZZcL-YdENC6EVRRPyRAvZDFXFukBgtXTIHuYztau7A5L1oxczKQ0bIEo0h4Bv-UrA_C0iWrLh9c8KnXgZUrA2-n-6FFyioyBZipTJ3JgSn2wiWSX21g0dj77Fky3WUkB_FlIP5WXbAxZh3hppUEGXKpK_30L0U9zhQnrNp7KvQ7mXgsx9g6ECzm-XiZtV2ZjZEcQtnWkP4M07TvWJFRFeVlJY3U"},"endpointId":"5ca22186-f33f-78f5-f311-f4eb49cbf00f7ebb"},"payload":{}}}
  2019-09-02 16:34:59 caching: MQTT2_Mi_Wecklicht-brightness: set 77
[2019-9-2 4:34:59 PM] [FHEM]     caching: Brightness: set 77 (as string; from 'set 77')
  2019-09-02 16:35:00 caching: MQTT2_Mi_Wecklicht-brightness: 82
[2019-9-2 4:35:00 PM] [FHEM]     caching: Brightness: 82 (as string; from '82')
[2019-9-2 4:35:17 PM] >>>> [srv] {"directive":{"header":{"namespace":"Alexa.ColorController","name":"SetColor","payloadVersion":"3","messageId":"4183552a-9826-4f24-9cc7-85c40665ffb5","correlationToken":"AAAAAAAAAQD8wgCX0kEZAc9DM6Vw32cLDAIAAAAAAACOMKJYWemkBNGLKJ/A+dcyC4QnoDkYaYqBEQ+KtcAQNzy5t00ioroZ/iGl2JxR0oGDmi6PBTSOTMz+ausBSnHEDw8cWh+06L0EiCNcJJTwH4uZBdqCKBKmrgPGV+m7NP5lyzqsus+et5nQLjSAoj6ZxIEM+yDwxccG6t5k7gKv+znNKnbqjh30gE3LzJ1jxKg+hM1hhWkDVDaYRurQVq/FtoN3wbBEHh5NcOkTyGDyYq1K5y1sDlleGxCoaL1nf8KNTCP31N0LfWvKZ+7CICufpXUj560IATi/o/dz07CKEVMWRIjWAtSajGE1pewlBd3v8WpgH8vIh2sN6+QkoGn+ryWZcgHkdrfn5egsgngPaVTT868wtCodChhdxPoGDay4Ogcg+bKHE/cyXptrgKkMt0b6OFOkIl/B/v/hLJ1IQtMU19HDRNrFkwO0AKv4WWodjCDIKgKac0Jn5kbXh1VqjFV8RC/JhbwL6B80NVTd7NfsOSC+CaSUHsTlSZTKRrA5zapAHEobhnQVVhPkUx4u7COdQQLqZv/dkib9ckhrMs6tEzSxjYwoGHDa6R01QEOBZfykTfh9nCOc8PpKbRZRjTWccjEmTU0D2b8rkPkcgRkh+GizHj9//POkNMsMEmS69mSK1zLgR2geZ2Z8/ouQCpksr5Y4rjSB8ctbhWuoSAvbxZdayuHJR4oW+Q=="},"endpoint":{"scope":{"type":"BearerToken","token":"Atza|IwEBIFRJu9DGNHSpvmxs5cCybV3xbDlTr6sjpBX29B4PxOuMeXc-ug0ufiSABBYejhIou81j2j--bFuyQW7sbf9hv7FwPlLURzsLibqQ16hXH83wlrIZo5oVuqcxSRXZySvzAEd2uYIUt6luyCJxabRcDndq7L4Phtpw4C4wJLe1H3HyDyOqf8GQaLM5BzXVICz359yPrNVIrvW2MF7qOaKSOa_n6mAvUBJT2gnaG7TefYW7O4Pzz-THeAX4rG1jJxm9V6rVQNEA5OZg5F5xwAQpdCWChWcWBEsuC94ao6TmZZcL-YdENC6EVRRPyRAvZDFXFukBgtXTIHuYztau7A5L1oxczKQ0bIEo0h4Bv-UrA_C0iWrLh9c8KnXgZUrA2-n-6FFyioyBZipTJ3JgSn2wiWSX21g0dj77Fky3WUkB_FlIP5WXbAxZh3hppUEGXKpK_30L0U9zhQnrNp7KvQ7mXgsx9g6ECzm-XiZtV2ZjZEcQtnWkP4M07TvWJFRFeVlJY3U"},"endpointId":"5ca22186-f33f-78f5-f311-f4eb49cbf00f7ebb","cookie":{"fuuid":"5ca22186-f33f-78f5-f311-f4eb49cbf00f7ebb","device":"MQTT2_Mi_Wecklicht"}},"payload":{"color":{"hue":0,"saturation":1,"brightness":1}}}}
[2019-9-2 4:35:18 PM] accepted new token
[2019-9-2 4:35:18 PM] [FHEM] MQTT2_Mi_Wecklicht: executing set cmd for Hue with value 0
[2019-9-2 4:35:18 PM] [FHEM]   executing: http://192.168.188.26:8083/fhem?cmd=set%20MQTT2_Mi_Wecklicht%20hue%200&XHR=1
[2019-9-2 4:35:18 PM] [FHEM] MQTT2_Mi_Wecklicht: executing set cmd for Brightness with value 100
[2019-9-2 4:35:18 PM] [FHEM]   executing: http://192.168.188.26:8083/fhem?cmd=set%20MQTT2_Mi_Wecklicht%20brightness%20255&XHR=1
[2019-9-2 4:35:18 PM] <<<< [srv] {"context":{"properties":[{"namespace":"Alexa.ColorController","name":"color","value":{"hue":0,"saturation":1,"brightness":1},"timeOfSample":"2019-09-02T14:35:18.368Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"Response","payloadVersion":"3","messageId":"1cb53e54-6730-4bfb-8578-af1abac18b29","correlationToken":"AAAAAAAAAQD8wgCX0kEZAc9DM6Vw32cLDAIAAAAAAACOMKJYWemkBNGLKJ/A+dcyC4QnoDkYaYqBEQ+KtcAQNzy5t00ioroZ/iGl2JxR0oGDmi6PBTSOTMz+ausBSnHEDw8cWh+06L0EiCNcJJTwH4uZBdqCKBKmrgPGV+m7NP5lyzqsus+et5nQLjSAoj6ZxIEM+yDwxccG6t5k7gKv+znNKnbqjh30gE3LzJ1jxKg+hM1hhWkDVDaYRurQVq/FtoN3wbBEHh5NcOkTyGDyYq1K5y1sDlleGxCoaL1nf8KNTCP31N0LfWvKZ+7CICufpXUj560IATi/o/dz07CKEVMWRIjWAtSajGE1pewlBd3v8WpgH8vIh2sN6+QkoGn+ryWZcgHkdrfn5egsgngPaVTT868wtCodChhdxPoGDay4Ogcg+bKHE/cyXptrgKkMt0b6OFOkIl/B/v/hLJ1IQtMU19HDRNrFkwO0AKv4WWodjCDIKgKac0Jn5kbXh1VqjFV8RC/JhbwL6B80NVTd7NfsOSC+CaSUHsTlSZTKRrA5zapAHEobhnQVVhPkUx4u7COdQQLqZv/dkib9ckhrMs6tEzSxjYwoGHDa6R01QEOBZfykTfh9nCOc8PpKbRZRjTWccjEmTU0D2b8rkPkcgRkh+GizHj9//POkNMsMEmS69mSK1zLgR2geZ2Z8/ouQCpksr5Y4rjSB8ctbhWuoSAvbxZdayuHJR4oW+Q=="},"endpoint":{"scope":{"type":"BearerToken","token":"Atza|IwEBIFRJu9DGNHSpvmxs5cCybV3xbDlTr6sjpBX29B4PxOuMeXc-ug0ufiSABBYejhIou81j2j--bFuyQW7sbf9hv7FwPlLURzsLibqQ16hXH83wlrIZo5oVuqcxSRXZySvzAEd2uYIUt6luyCJxabRcDndq7L4Phtpw4C4wJLe1H3HyDyOqf8GQaLM5BzXVICz359yPrNVIrvW2MF7qOaKSOa_n6mAvUBJT2gnaG7TefYW7O4Pzz-THeAX4rG1jJxm9V6rVQNEA5OZg5F5xwAQpdCWChWcWBEsuC94ao6TmZZcL-YdENC6EVRRPyRAvZDFXFukBgtXTIHuYztau7A5L1oxczKQ0bIEo0h4Bv-UrA_C0iWrLh9c8KnXgZUrA2-n-6FFyioyBZipTJ3JgSn2wiWSX21g0dj77Fky3WUkB_FlIP5WXbAxZh3hppUEGXKpK_30L0U9zhQnrNp7KvQ7mXgsx9g6ECzm-XiZtV2ZjZEcQtnWkP4M07TvWJFRFeVlJY3U"},"endpointId":"5ca22186-f33f-78f5-f311-f4eb49cbf00f7ebb"},"payload":{}}}
  2019-09-02 16:35:18 caching: MQTT2_Mi_Wecklicht-hue: set 0
[2019-9-2 4:35:18 PM] [FHEM]     caching: Hue: set 0 (as string; from 'set 0')
  2019-09-02 16:35:18 caching: MQTT2_Mi_Wecklicht-brightness: set 255
[2019-9-2 4:35:18 PM] [FHEM]     caching: Brightness: set 255 (as string; from 'set 255')
  2019-09-02 16:35:18 caching: MQTT2_Mi_Wecklicht-hue: 0
[2019-9-2 4:35:18 PM] [FHEM]     caching: Hue: 0 (as string; from '0')
  2019-09-02 16:35:18 caching: MQTT2_Mi_Wecklicht-brightness: 255
[2019-9-2 4:35:18 PM] [FHEM]     caching: Brightness: 255 (as string; from '255')


Gruß

Thomas


Beta-User

Zitat von: TomLee am 02 September 2019, 16:46:19
Alexa dichtet einen 100% Befehl dazu, das sieht man im Alexa-Log.
Danke für die Info, qed...

@Heimweh: Das scheint ein allgemeines Alexa-Thema zu sein und sollte ggf. separat vertieft werden - wenn nicht grade zufällig hier jemand direkt die Info hat, wie man dieses Verhalten ändern kann (ich würde eine kleine Wette anbieten, dass das irgendwie zu konfigurieren geht...).

Wenn's was größeres ist: Eine abschließende Rückmeldung, ob und wie sich das ausschalten läßt, wäre ggf. hilfreich, dann bau' ich das ins Wiki ein (vorausgesetzt, ich habe eine zündende Idee, wie es am besten zu machen ist, das betrifft ja andere via MQTT(2) anzusteuernde Leuchtmittel wie zigbee2mqtt-tint, shellybulb & Co genauso... :( ).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Heimweh

Guten Morgen Thomas, guten Morgen Jörg

ich hatte leider wenig Zeit, aber konnte auch feststellen dass Alexa ein "set brighntess 255" dazudichtet. Hmmm. Mal sehen ob ich was rausbekomme.

RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

Beta-User

Zitat von: Beta-User am 01 September 2019, 09:08:17
....mal was anderes  :) :

Zur Info: Es gibt einen neuen Thread zur "Fremdnutzung" der Remotes:
https://forum.fhem.de/index.php/topic,103493.msg972085.html#msg972085

Bitte Fragen, Anmerkungen zu diesem Themenkomplex daher ab sofort dort anbringen :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Dersch

Hi,

ich verzweifel grade etwas mit dem MQTT2. Bisher habe ich nur MQTT mit Mosquitto genutzt aber damit habe ich den hub überhaupt nicht einbinden können.

Nun probiere ich halt mal MQTT2 aus und es läuft auf einem anderen Port. Das Device milight_hub wird mir auch angelegt. Ich stelle das Template ein und es sieht soweit gut aus. Wenn ich nun aber das Licht (ich habe nur ein CCT Controller) schalte wird nicht etwa ein neues Device angelegt wie im Wiki beschrieben sondern einfach die JSON readings dem hub device hinzugefügt. Die readings entsprechen dann meiner lampe aber ich kann dort auch nichts schalten. Stelle ich dort dann halt mal auf das template für die cct bulb passiert einfach gar nichts.


Grüße
Dirk

Beta-User

Also: Du hast einen MQTT2_SERVER definiert mit einem anderen Port, da schickt der hub seine Daten hin. Soweit so gut.

Was das brige-Device angeht: Wenn das nicht "sortiert", liegt das evtl. daran, dass entweder die Einstellungen auf dem Hub nicht passen oder die bridgeRegexp auf deinen Bedarf anzupassen ist. Aber wenn das im ersten Schritt schon nicht passt, ist es eigentlich kein Wunder, dass alles weitere auch nicht geht (die regexe sind ähnlich, damit kann dann eigentlich auch die setList nicht sauber zusammengebaut werden...).

Daher bitte ein list von dem Device, in dem die Infos derzeit landen ;) . (und möglichst Info, was via MQTT kam, ist aber erst mal nicht so dringend).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Dersch

Also hier ist das List direkt nach dem autocreate:

Internals:
   CFGFN     
   CID        milight_hub_11117376
   DEF        milight_hub_11117376
   DEVICETOPIC MQTT2_milight_hub_11117376
   FUUID      5d8c76ce-f33f-c2c3-00d1-afd3ef5bbbbfbfca
   IODev      MQTT2
   NAME       MQTT2_milight_hub_11117376
   NR         1032
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-09-26 10:29:02   firmware        milight-hub
     2019-09-26 10:29:02   ip_address      192.168.11.34
     2019-09-26 10:29:02   reset_reason    Software/System restart
     2019-09-26 10:29:02   status          connected
     2019-09-26 10:29:02   version         1.10.3
Attributes:
   DbLogExclude .*
   IODev      MQTT2
   readingList milight_hub_11117376:milight/LWT:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE


Nun das template gesetzt:

Internals:
   CFGFN     
   CID        milight_hub_11117376
   DEF        milight_hub_11117376
   DEVICETOPIC MQTT2_milight_hub_11117376
   FUUID      5d8c76ce-f33f-c2c3-00d1-afd3ef5bbbbfbfca
   IODev      MQTT2
   NAME       MQTT2_milight_hub_11117376
   NR         1032
   STATE      <a href="http://ip_address" target="_blank">
status
</a>Version:
version
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
Attributes:
   DbLogExclude .*
   IODev      MQTT2
   autocreate 1
   bridgeRegexp milight/[^/]*at[^/]+/(0x....)/.*/([0-8])?.*:.* "milight_$1_$2"
   devStateIcon connected:10px-kreis-gruen disconnected.*:10px-kreis-rot
   model      esp_milight_hub_bridge
   room       MQTT2_DEVICE
   setStateList on off
   stateFormat <a href="http://ip_address" target="_blank">
status
</a>Version:
version



Und nun mal die Lampe geschaltet:

Internals:
   CFGFN     
   CID        milight_hub_11117376
   DEF        milight_hub_11117376
   DEVICETOPIC MQTT2_milight_hub_11117376
   FUUID      5d8c76ce-f33f-c2c3-00d1-afd3ef5bbbbfbfca
   IODev      MQTT2
   LASTInputDev MQTT2
   MQTT2_MSGCNT 2
   MQTT2_TIME 2019-09-26 10:42:19
   MSGCNT     2
   NAME       MQTT2_milight_hub_11117376
   NR         1032
   STATE      <a href="http://ip_address" target="_blank">
status
</a>Version:
version
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2019-09-26 10:42:19   brightness      128
     2019-09-26 10:42:19   bulb_mode       white
     2019-09-26 10:42:19   color_b         255
     2019-09-26 10:42:19   color_g         255
     2019-09-26 10:42:19   color_r         255
     2019-09-26 10:42:19   color_temp      370
     2019-09-26 10:42:19   state           OFF
Attributes:
   DbLogExclude .*
   IODev      MQTT2
   autocreate 1
   bridgeRegexp milight/[^/]*at[^/]+/(0x....)/.*/([0-8])?.*:.* "milight_$1_$2"
   devStateIcon connected:10px-kreis-gruen disconnected.*:10px-kreis-rot
   model      esp_milight_hub_bridge
   readingList milight_hub_11117376:milight/updates/0xF29/cct/1:.* { json2nameValue($EVENT) }
milight_hub_11117376:milight/states/0xF29/cct/1:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setStateList on off
   stateFormat <a href="http://ip_address" target="_blank">
status
</a>Version:
version


Du siehst er fügt einfach die Readings dem Hub Device zu.

Beta-User

OK; das Problem ist, dass die ID "zu kurz" ist, das template erwartet 4 hex-Stellen (hatten wir neulich schon mal, muß ich ggf. mal umstellen...)

Bitte statt (0x....) das hier in dei brigeRegexp einfügen: (0x[0-9a-fA-F]+)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Dersch

Ah ok, danke. Es werden aber auch nach dem setzen des Templates im Hub Device keine Readings mehr erstellt. Siehst du evtl auch woran das liegt? Ohne das Template passen die Readings ja.

Beta-User

An dem list kann ich auf die Schnelle nichts sehen. Aber z.B. die IP usw. werden nur bei einem (re-) connect übertragen, da mußt du z.B. den Hub neu starten.

Sonst mal suchen, ob sich ein anderes device diesen topic "gekrallt" hat (gibt es einen Abnehmer, wird die Kette an der Stelle unterbrochen, die bridgeRegex bewirkt dann nichts mehr).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files