Look forward to hear how it goes.
Hi @dimalo,
I have "Aqaraâ gateway, it doesnât support âLumiâ gateway protocol, it just natively support homekit,
as I am not able to add / discover by paperUI also develop mode, I didnât use it at all.
please let me know if you want to do any test.
Can anyone who have xiaomi gateway or any xiaomi product share your fw version and binding version,
especially mention any malfunction after fw upgrade, I am trying to summarize fully functional fw with OH binding and mark warn if there is any compatible issue with specific fw version.
Hi @dimalo,
Can you add support of Lumi Gateway radio feature?
I have test with below command and it works with miio and miiocli, so this should be easy to add to current mihome
miiocli wifispeaker --ip 192.168.0.2 --token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx raw_command "get_prop_fm"
miiocli wifispeaker --ip 192.168.0.2 --token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx raw_command "play_specify_fm" "{'type': 0, 'id': 0, 'url': 'http://192.168.0.1:8080/static/testplayer/hls/527782023/pl.m3u8'}"
miiocli wifispeaker --ip 192.168.0.2 --token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx raw_command "play_fm" "['on']"
miiocli wifispeaker --ip 192.168.0.2 --token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx raw_command "play_fm" "['off']"
miiocli wifispeaker --ip 192.168.0.2 --token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx raw_command "play_fm" "['next']"
miiocli wifispeaker --ip 192.168.0.2 --token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx raw_command "set_fm_volume" "[100]"
DEBUG=* miio protocol call 192.168.101.243 get_prop_fm
DEBUG=* miio protocol call 192.168.101.243 play_fm '["off"]'
DEBUG=* miio protocol call 192.168.101.243 play_fm '["on"]'
DEBUG=* miio protocol call 192.168.101.243 play_fm '["next"]'
DEBUG=* miio protocol call 192.168.101.243 set_fm_volume '[100]'
DEBUG=* miio protocol call 192.168.101.243 play_specify_fm '{"type": 0, "id": 0, "url": "http://192.168.0.1:8080/static/testplayer/hls/527782023/pl.m3u8"}'
regarding radio source, you may check below web link for reference.
https://www.mylifesucks.de/oss/xiaomiwifiradio/
Some Aqara gateways do, have a look here for details on retrieving the key.
I have a question regarding the textual config of the things
:
I always configured them like this
Bridge mihome:bridge:gateway "Xiaomi Gateway" [ serialNumber="xxxxxx", ipAddress="192.168.0.xx", port=9898, key="xxxxx", pollingInterval=6000 ] {
Thing mihome:gateway:gateway "Xiaomi Mi Smart Home Gateway " [itemId="xxxx"]
Thing mihome:sensor_ht:temp_hum_kelder "Xiaomi Temperature Sensor kelder" [itemId="xxxx"]
.....
}
Yesterday, I updated to 2.5.0 and saw in the Xiaomi binding docs a different way (same way as I use for NHC):
Bridge mihome:bridge:gateway "Xiaomi Gateway" [ serialNumber="xxxxxx", ipAddress="192.168.0.xx", port=9898, key="xxxxx", pollingInterval=6000 ] {
Things:
gateway gateway "Xiaomi Mi Smart Home Gateway" [itemId="xxxx"]
sensor_ht temp_hum_kelder "Xiaomi Temperature Sensor kelder" [itemId="xxxx"]
....
}
But when using this last method, my items arenât linked to the things⌠so none of my devices are working. Already restarted openHAB and my Pi. no errors in the logs.
I reverted back to my first method and everything is working fine again.
When I use this first method I also get this warning message
2019-12-20 20:53:04.485 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'xiaomi.things', using it anyway:
Provide a thing type ID and a thing ID in this format:
<thingTypeId> <thingId>
....
Looks to me that you havenât exactly defined the things as described in the ânewâ (2.4+ I think) docs. What about
...
Things:
gateway xxxx "Xiaomi Mi Smart Home Gateway" [itemId="xxxx"]
sensor_ht xxxx "Xiaomi Temperature Sensor kelder" [itemId="xxxx"]
...
So you show your items.
Bridge mihome:bridge:xxxx "bridge" @ "xiaomi" [ serialNumber="aaaa", ipAddress="192.168.215.235", port=9898, key="zzzz", pollingInterval=6000 ] {
Things:
gateway xxxx "gate" @ "xiaomi" [itemId="xxxx"]
sensor_switch yyyy "switch" @ "xiaomi" [itemId="yyyy"]
}
Number Switch_Battery <battery> { channel="mihome:sensor_switch:xxxx:yyyy:batteryLevel" }
Switch Switch_BatteryLow <energy> { channel="mihome:sensor_switch:xxxx:yyyy:lowBattery" }
Thanks @Hans_Lree & @Olymp !
Didnât noticed the items also changedâŚ
A follow up. Received the gateway yesterday. It does not have a developer mode. Less options and settings compared to the gen2 gateway.
Will most likely use it as a paperweight.
It really sounds odd. There has been alot of discussion about this lately⌠I wonder if anyone has actually asked xiaomi whats going on? It can hardly be an security issue, as the token (developer mode) is actually the security itselfâŚ
Is it possible to add the new mi gateway? Iâve added to the mi app, but cant find any dev settings.
@dimalo Are you still working on this binding? I just found my new (extra) gateway (ZNDMWG03LM - https://banggood.app.link/9yeamJWC27) which I bought 6 months ago in the closet and I wanted to try it once more.
With an older version of the Xiaomi Home app, I managed to get the token, device id and model (lumi.gateway.mgl03).
I tried to add it like another gateway, but that doesnât seem to work.
Could you help me what is wrong on my system?
1, Xiaomi door and temperature sensor are added, it works properly on the Paper UI, but i canât display these on my sitemap.
2, what is wrong with the rule with xiaomi door sensor (the roller shutter work like a charm),
xiaomi.things
sensor_magnet 158d0002xxxxxx "Xiaomi Kitchen Door Sensor" [itemId="158d0002xxxxxx"]
sensor_ht 158d0003xxxxxx "Xiaomi Basement Temperature Sensor" [itemId="158d0003xxxxxx"]
items:
Number:Temperature BasementTemperature "Temperature" {channel="mihome:sensor_ht:04cf8cxxxxxx:158d0003xxxxxx:temperature"}
Number:Dimensionless BasementHumidity "Humidity" {channel="mihome:sensor_ht:04cf8cxxxxxx:158d0003xxxxxx:humidity"}
Contact KitchenDoorStatus "Open status" {channel="mihome:sensor_magnet:04cf8cxxxxxx:158d0002xxxxxx:isOpen"}
DateTime KitchenDoorLastOpened "Last time opened (date/time)" {channel="mihome:sensor_magnet:04cf8c9xxxxxx:158d0002xxxxxx:lastOpened"}
sitemap:
Frame label="Test"{
Text item=KitchenDoorStatus label= "Kitchen Door [%s]" icon="door"
Text item=KitcheDoorLastOpened label= "Last time open [%s]" icon="time"
Text item=BasementTemperature label="Basement Temperature [%.1f °C]" icon="temperature"
2:
rule "Shutter_Door_Open"
when
Item KitchenDoor changed
then
if ((KitchenDoor.state == OPEN ))
{ sendCommand(RollerControlLiving, UP ) }
end
thank you
Could you please paste your settings in a code fence style⌠And also be more specific about what exactly you´re showing⌠your items seems alittle bit ackward and the item name seems to be the actual measuring, (you have called the item name for temperatur âtemperatureâ). Its not that its not going to work, but doing like this, you´ll end up with several fatal issues when you add the next temperature sensorâŚ
But please⌠First,
Your items file (using code fences).
Your sitemap file (using code fences).
Your rules, (using code fences). (Its almost impossible to see your rules, because its a very small screenshot).
sorry, edited
(is it ok like it?)
Alot better thank you
I dont see anything wrong in your items and sitemap. However, I personally would move the label to the item insted of having it in the sitemap⌠Like this:
Number:Temperature BasementTemperature "Basement Temperature [%.1f °C]" <temperature> {channel="mihome:sensor_ht:04cf8cxxxxxx:158d0003xxxxxx:temperature"}
Contact KitchenDoorStatus "Kitchen Door [%s]" <door> {channel="mihome:sensor_magnet:04cf8cxxxxxx:158d0002xxxxxx:isOpen"}
DateTime KitchenDoorLastOpened "Last time open [%s]" <time> {channel="mihome:sensor_magnet:04cf8c9xxxxxx:158d0002xxxxxx:lastOpened"}
For the label of KitchenDoorLastOpened, you´ll have to insert the actual time format, [%s] will not work. You probably need something like this: [%1$tH:%1$tM:%1$tS %1$td.%1$tm.%1$tY]
So the item will look like this:
DateTime KitchenDoorLastOpened "Last time open [%1$tH:%1$tM:%1$tS %1$td.%1$tm.%1$tY]"
<time> {channel="mihome:sensor_magnet:04cf8c9xxxxxx:158d0002xxxxxx:lastOpened"}
In your sitemap, then you can easily just add the item name, like this:
Frame label="Test"{
Text item=KitchenDoorStatus
Text item=KitcheDoorLastOpened
Text item=BasementTemperature
}
Give it a try
PS. I´ll focus on your rule issue after we get the sitemap to work.
Do the items change state in the .event.log at all ?
Its highly strange since you say its working from PaperUI (I hardly ever use PaperUI control, cause I have so many things going on, and PaperUI is slow as hell, and not trustworthy in my opinion). So I suggest you keep an eye on the logfile for the items names above,
KitchenDoorStatus
KitcheDoorLastOpened
BasementTemperature
If you dont see any changes in the log, then you have the reason why they´re not working in the sitemap. And we´ll take it from there.