quazzie / tellstick-plugin-mqtt-hass

Plugin for tellstick, connect to homeassistant via mqtt with autodiscovery.
36 stars 7 forks source link

Add support for device-type cover #17

Closed fredrike closed 2 years ago

fredrike commented 4 years ago

@henjoa have a Qubino flush shutter it would be great if we could integrate support for covers/shutters to the mqtt plugin.

Ref: https://github.com/home-assistant/core/issues/34368

@henjoa, please paste related debug info here (from the telldus/TellstickZnetLite/debug topic) and we'll do our best to add support.

quazzie commented 4 years ago

Har haft lite email conv. Här är lite mer info: {"methods": 912, "battery": null, "isSensor": true, "deviceId": 14, "sensors": {"256": [{"scale": 2, "lastUpdated": 1587467078, "value": "0.0"}, {"scale": 0, "lastUpdated": 1587444075, "value": "0.6"}]}, "name": "Markis_232", "parameters": {"devicetype": "00000013-0001-1000-2005-ACCA54000000"}, "state": [16, 255], "typeStr": "zwave", "type": "light", "isDevice": true}

Ser att i koden så checkar jag efter methods.DIM före methods.UP så den detekteras som light. Ska flytta om. Men det måste luska ut hur det fungerar med methods.DIM

Vet inte riktigt hur säker informationen i devicetype för alla devices så därför klassificeras dom med methods.

fredrike commented 4 years ago

Tror (och detta är bara en killgissning) att med DIM så kan du sätta % av läget. I debuggen ovan så är markisen utdragen till 60% (eller [16, 255]).

devicetype 00000013-0001-1000-2005-ACCA54000000 finns definierat här: https://github.com/telldus/tellstick-server/blob/4cd084d74fd393ea4af77a09e3644eddb05d8961/telldus/src/telldus/Device.py#L51

eller här i mobil-appen:

https://github.com/telldus/telldus-live-mobile-v3/blob/05270c3bfe6b4808b797ea02091b7d6f4d562c4a/android/app/src/main/java/com/telldus/live/mobile/Utility/DevicesUtilities.java#L144-L149

quazzie commented 4 years ago

Jao, men 255 indikerar ju mer på att den är i nått fullt läge.

Dock så enligt sensors.256.[1] så skulle jag kunna tänka mig att den är 60% (0.6) Men lite svårt då sensorn säger att det är en POWER/WATT och scalen säger kWh :)

Men jag tror jag skippar dom där sensorerna och kör på DIM och antar att 255 är antingen open eller closed.

fredrike commented 4 years ago

Det är inte 16/255 då?

Kanske @henjoa kan köra ut och in och rapportera värden så vi har något att gå på.

@quazzie såg du min andra issue?

quazzie commented 4 years ago

16 är Device.DIM, 255 är värdet. Dvs state för Device.DIM är 255.

quazzie commented 4 years ago

Om @henjoa vill så kan han få testa MQTT_Homeassistant-0.87.1.zip och rapportera lite hur det gick :)

henjoa commented 4 years ago

absolut, jag installerar den nu. Vad ska jag göra för att testa på 'rätt' sätt så att rätt info kommer fram? Jag körde postman mot tellstick api men det var ingen skillnad när markisen var öppen eller stängd (/api/device/info?id=19) { "id": 19, "methods": 0, "model": "0159-0003-0052", "name": "Markis_244", "protocol": "zwave", "state": 0, "statevalue": 255, "type": "device" }

quazzie commented 4 years ago

Test och se vad som kommer upp i homeassistant, testa om dom går att styra som tänkt. Dom borde komma upp som covers nu med open/close/up/down/position typ. Om nått inte funkar som tänkt så skriv här så tar vi vad som kan behövas då :)

quazzie commented 4 years ago

@henjoa hittade lite problem i dina loggar. Testa denna: MQTT_Homeassistant-0.87.3.zip

Sen hur fångar du dina loggar ? Dom är lite jobbiga att hantera :) Kör du mosquitto ? Isf är bästa mosquitto_sub -t "(topic1..)" -t "(topic2...)" -v > log.txt

henjoa commented 4 years ago

OK, tack, jag provar! Jag använder MQTT.fx på Mac för att ansluta till broker men jag kan fixa på annat sätt.

24 apr. 2020 kl. 09:10 skrev Tommy Jonsson notifications@github.com<mailto:notifications@github.com>:

@henjoahttps://github.com/henjoa hittade lite problem i dina loggar. Testa denna: MQTT_Homeassistant-0.87.3.ziphttps://github.com/quazzie/tellstick-plugin-mqtt-hass/files/4527231/MQTT_Homeassistant-0.87.3.zip

Sen hur fångar du dina loggar ? Dom är lite jobbiga att hantera :) Kör du mosquitto ? Isf är bästa mosquitto_sub -t "(topic1..)" -t "(topic2...)" -v > log.txt

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/quazzie/tellstick-plugin-mqtt-hass/issues/17#issuecomment-618843734, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIKIAGHUOKEQGVDKOHN5DT3ROE3M3ANCNFSM4MO4ABPA.

quazzie commented 4 years ago

Gah ibland hatar jag python och dess linter, hittade en typo i kodpathen för dimbar cover. Jag kan ju inte testa koden själv heller då jag inte har prylarna =)

@henjoa testa denna när du får tid. Loggarna var mycket lättare att hantera denna gången, tack!

MQTT_Homeassistant-0.87.4.zip

henjoa commented 4 years ago

Nu dök det upp markiser i homeassitant!! Jag testar o ser om jag kan få dom till att lira. Jag la en felrapport till telldus igår kväll för att det inte funkar i appen eller på webben med att sätta en position/dimmer.

Tack!

24 apr. 2020 kl. 10:32 skrev Tommy Jonsson notifications@github.com<mailto:notifications@github.com>:

Gah ibland hatar jag python och dess linter, hittade en typo i kodpathen för dimbar cover. Jag kan ju inte testa koden själv heller då jag inte har prylarna =)

@henjoahttps://github.com/henjoa testa denna när du får tid. Loggarna var mycket lättare att hantera denna gången, tack!

MQTT_Homeassistant-0.87.4.ziphttps://github.com/quazzie/tellstick-plugin-mqtt-hass/files/4527624/MQTT_Homeassistant-0.87.4.zip

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/quazzie/tellstick-plugin-mqtt-hass/issues/17#issuecomment-618880106, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIKIAGHM5XGEQA7UKMCDOR3ROFFA5ANCNFSM4MO4ABPA.

quazzie commented 4 years ago

Kul. Ja kolla om up/open down/close och position funkar i homeassistant. Och om det inte fungerar får du gärna fånga loggar från "telldus/#" medans du ändrar det som inte fungerar i homeassistant. Dvs börja fånga logg, kör upp/ner eller positionera i homeassistant, stoppa loggningen.

Lycka till :)

fredrike commented 4 years ago

Det går att logga direkt i HA.

Gå till http://homeassistant.local/developer-tools/mqtt så kan du lyssna på topic telldus/# (eller telldus/+/debug).

henjoa commented 4 years ago

Tjena, ned funkar som det ska men inte position eller upp. GUI för enheterna ändrar sig alltså inte utan fortsätter att visa ’ned’ pilen som den enda aktiva valet och det måste väl bero på att positionen inte rapporteras tillbaka?

[cid:D03B3342-FA17-441A-AD8D-8FEB4BC9795A@johanzone]

24 apr. 2020 kl. 11:07 skrev Tommy Jonsson notifications@github.com<mailto:notifications@github.com>:

Kul. Ja kolla om up/open down/close och position funkar i homeassistant. Och om det inte fungerar får du gärna fånga loggar från "telldus/#" medans du ändrar det som inte fungerar i homeassistant. Dvs börja fånga logg, kör upp/ner eller positionera i homeassistant, stoppa loggningen.

Lycka till :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/quazzie/tellstick-plugin-mqtt-hass/issues/17#issuecomment-618896383, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIKIAGF46M453MTUFAJKKSDROFJERANCNFSM4MO4ABPA.

quazzie commented 4 years ago

Ok, ja det borde vara för att positionen inte rapporteras eller rapporteras fel.

Hmm vore bra om jag fick se configen för din cover. Så skicka en logg med 'homeassistant/cover/+/+/config', borde gå att få den utan att starta om nått. Dom ligger som retain så om du börjar lyssna på den topicen borde det komma direkt.

Sen får du gärna skicka en logg från 'homeassistant/cover/+/+/state' och 'telldus/+/debug', från innan du kör ner den och en liten stund efter du gav kommandot för att köra ner.

henjoa commented 4 years ago

ok, här kommer info, behöver du mer så säg till, jag sitter vid datorn hela dagen.

27 apr. 2020 kl. 08:43 skrev Tommy Jonsson notifications@github.com<mailto:notifications@github.com>:

Ok.

Hmm vore bra om jag fick se configen för din cover. Så skicka en logg med 'homeassistant/cover/+/+/config', borde gå att få den utan att starta om nått. Dom ligger som retain så om du börjar lyssna på den topicen borde det komma direkt.

Sen får du gärna skicka en logg från 'homeassistant/cover/+/+/state' och 'telldus/+/debug', från innan du kör ner den och en liten stund efter du gav kommandot för att köra ner.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/quazzie/tellstick-plugin-mqtt-hass/issues/17#issuecomment-619764039, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIKIAGH6BHCUJPRWVLZ6L33ROUSRNANCNFSM4MO4ABPA.

quazzie commented 4 years ago

Hmm du måste missat att skicka med loggarna :)

quazzie commented 4 years ago

Hmm vart inte så mycket klokare faktiskt. Skulle du kunna logga 'telldus/+/debug' när du ändrar en markis ifrån telldus live?

Har märkt att man får inte upp en 'slider' för covers i home-assistant utan man måste kalla på en service: cover.set_cover_position Fel av mig, om man klickar på markisens namn så finns den en slider i popupen. Vad händer om du använder den ? Fånga gärna en logg av 'homeassistant/cover/+/+/state' och 'telldus/+/debug' när du använder den.

henjoa commented 4 years ago

här kommer telldus/+/degug loggar när jag kör en markis nedåt en liten stund.

27 apr. 2020 kl. 12:11 skrev Tommy Jonsson notifications@github.com<mailto:notifications@github.com>:

Hmm vart inte så mycket klokare faktiskt. Skulle du kunna logga 'telldus/+/debug' när du ändrar en markis ifrån telldus live?

Har märkt att man får inte upp en 'slider' för covers i home-assistant utan man måste kalla på en service: cover.set_cover_position

Vad händer om du använder den servicen ? Fånga gärna en logg av 'homeassistant/cover/+/+/state' och 'telldus/+/debug' när du använder den servicen.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/quazzie/tellstick-plugin-mqtt-hass/issues/17#issuecomment-619879942, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIKIAGEWMYHSF5V4RZ2EFPTROVK4JANCNFSM4MO4ABPA.

quazzie commented 4 years ago

Loggarna borta nu också :\

quazzie commented 4 years ago

Mail från @henjoa, lägger till här för att komma ihåg.

I HA gui är i dagsläget alla actions aktiva (svarta, går att klicka på) vilket kan bero på att state inte togs om hand på rätt sätt.

Jag bifogar nya loggfiler där jag startat med en markis helt uppfälld, kört den till 50% via appen, sen tillbaka till 80% för att slutligen fälla upp den helt (100%).

ha+++config/05-05-2020_08_08_01.29281280.bin:{"position_open": 255, "device": {"model": "0159-0003-0052", "identifiers": "efb3b632-a5d0-42aa-87d0-3293894e6ed1", "via_device": "ACCA5402664B", "name": "Markis_232", "manufacturer": "Zwave"}, "name": "Markis_232", "position_topic": "homeassistant/cover/znet/14/state", "state_topic": "homeassistant/cover/znet/14/state", "command_topic": "homeassistant/cover/znet/14/set", "availability_topic": "telldus/znet/available", "set_position_topic": "homeassistant/cover/znet/14/pos", "unique_id": "ACCA5402664B_14"}
ha+++config/05-05-2020_08_08_01.29281284.bin:{"position_open": 255, "device": {"model": "0159-0003-0052", "identifiers": "b854628b-ea94-43ac-a233-ca6f8b2b495f", "via_device": "ACCA5402664B", "name": "Markis_243", "manufacturer": "Zwave"}, "name": "Markis_243", "position_topic": "homeassistant/cover/znet/15/state", "state_topic": "homeassistant/cover/znet/15/state", "command_topic": "homeassistant/cover/znet/15/set", "availability_topic": "telldus/znet/available", "set_position_topic": "homeassistant/cover/znet/15/pos", "unique_id": "ACCA5402664B_15"}
ha+++config/05-05-2020_08_08_01.29281286.bin:{"position_open": 255, "device": {"model": "0159-0003-0052", "identifiers": "b5c17e86-8ea0-4ec9-aabc-7d948b9485c1", "via_device": "ACCA5402664B", "name": "Markis_241", "manufacturer": "Zwave"}, "name": "Markis_241", "position_topic": "homeassistant/cover/znet/16/state", "state_topic": "homeassistant/cover/znet/16/state", "command_topic": "homeassistant/cover/znet/16/set", "availability_topic": "telldus/znet/available", "set_position_topic": "homeassistant/cover/znet/16/pos", "unique_id": "ACCA5402664B_16"}
ha+++config/05-05-2020_08_08_01.29281295.bin:{"position_open": 255, "device": {"model": "0159-0003-0052", "identifiers": "d7271927-84a9-4e6c-a292-979e2d297f01", "via_device": "ACCA5402664B", "name": "Markis_242", "manufacturer": "Zwave"}, "name": "Markis_242", "position_topic": "homeassistant/cover/znet/17/state", "state_topic": "homeassistant/cover/znet/17/state", "command_topic": "homeassistant/cover/znet/17/set", "availability_topic": "telldus/znet/available", "set_position_topic": "homeassistant/cover/znet/17/pos", "unique_id": "ACCA5402664B_17"}
ha+++config/05-05-2020_08_08_01.29281297.bin:{"position_open": 255, "device": {"model": "0159-0003-0052", "identifiers": "665a5f97-a4d5-45af-b991-ced0819f9de0", "via_device": "ACCA5402664B", "name": "Markis_244", "manufacturer": "Zwave"}, "name": "Markis_244", "position_topic": "homeassistant/cover/znet/19/state", "state_topic": "homeassistant/cover/znet/19/state", "command_topic": "homeassistant/cover/znet/19/set", "availability_topic": "telldus/znet/available", "set_position_topic": "homeassistant/cover/znet/19/pos", "unique_id": "ACCA5402664B_19"}
telldus-+-debug/05-05-2020_08_09_02.29342037.bin:06:09:02 - {"scale": 2, "battery": null, "valueType": 256, "value": 13.6, "deviceId": 15, "type": "sensorValueUpdated"}
telldus-+-debug/05-05-2020_08_09_02.29342053.bin:06:09:02 - sensorState {'scale': 2, 'lastUpdated': 1588658941, 'value': '13.6'}
telldus-+-debug/05-05-2020_08_09_03.29343054.bin:06:09:03 - {"scale": 2, "battery": null, "valueType": 256, "value": 133.30000000000001, "deviceId": 15, "type": "sensorValueUpdated"}
telldus-+-debug/05-05-2020_08_09_03.29343071.bin:06:09:03 - sensorState {'scale': 2, 'lastUpdated': 1588658942, 'value': '133.3'}
telldus-+-debug/05-05-2020_08_09_06.29346649.bin:06:09:06 - {"origin": "Telldus Live! mobile - iOS", "stateValue": "202", "state": 16, "devicetype": "cover", "deviceId": 15, "type": "deviceStateChanged"}
telldus-+-debug/05-05-2020_08_09_06.29346651.bin:06:09:06 - deviceState 15, state: 16, value: 202
telldus-+-debug/05-05-2020_08_09_15.29355145.bin:06:09:15 - {"origin": "Incoming signal", "stateValue": "128", "state": 16, "devicetype": "cover", "deviceId": 15, "type": "deviceStateChanged"}
telldus-+-debug/05-05-2020_08_09_15.29355167.bin:06:09:15 - deviceState 15, state: 16, value: 128
telldus-+-debug/05-05-2020_08_09_16.29356017.bin:06:09:16 - {"scale": 2, "battery": null, "valueType": 256, "value": 0.0, "deviceId": 15, "type": "sensorValueUpdated"}
telldus-+-debug/05-05-2020_08_09_16.29356033.bin:06:09:16 - sensorState {'scale': 2, 'lastUpdated': 1588658955, 'value': '0.0'}
telldus-+-debug/05-05-2020_08_09_52.29392021.bin:06:09:52 - {"scale": 2, "battery": null, "valueType": 256, "value": 56.0, "deviceId": 15, "type": "sensorValueUpdated"}
telldus-+-debug/05-05-2020_08_09_52.29392060.bin:06:09:52 - sensorState {'scale': 2, 'lastUpdated': 1588658991, 'value': '56.0'}
telldus-+-debug/05-05-2020_08_09_52.29392901.bin:06:09:52 - {"scale": 2, "battery": null, "valueType": 256, "value": 131.59999999999999, "deviceId": 15, "type": "sensorValueUpdated"}
telldus-+-debug/05-05-2020_08_09_52.29392916.bin:06:09:52 - sensorState {'scale': 2, 'lastUpdated': 1588658992, 'value': '131.6'}
telldus-+-debug/05-05-2020_08_09_56.29396618.bin:06:09:56 - {"origin": "Telldus Live! mobile - iOS", "stateValue": "184", "state": 16, "devicetype": "cover", "deviceId": 15, "type": "deviceStateChanged"}
telldus-+-debug/05-05-2020_08_09_56.29396619.bin:06:09:56 - deviceState 15, state: 16, value: 184
telldus-+-debug/05-05-2020_08_10_01.29401840.bin:06:10:01 - {"origin": "Incoming signal", "stateValue": "223", "state": 16, "devicetype": "cover", "deviceId": 15, "type": "deviceStateChanged"}
telldus-+-debug/05-05-2020_08_10_01.29401845.bin:06:10:01 - deviceState 15, state: 16, value: 223
telldus-+-debug/05-05-2020_08_10_02.29402864.bin:06:10:02 - {"scale": 2, "battery": null, "valueType": 256, "value": 0.0, "deviceId": 15, "type": "sensorValueUpdated"}
telldus-+-debug/05-05-2020_08_10_02.29402879.bin:06:10:02 - sensorState {'scale': 2, 'lastUpdated': 1588659002, 'value': '0.0'}
telldus-+-debug/05-05-2020_08_10_08.29408598.bin:06:10:08 - {"origin": "Telldus Live! mobile - iOS", "stateValue": "", "state": 128, "devicetype": "cover", "deviceId": 15, "type": "deviceStateChanged"}
telldus-+-debug/05-05-2020_08_10_08.29408600.bin:06:10:08 - deviceState 15, state: 128, value: 
telldus-+-debug/05-05-2020_08_10_10.29410123.bin:06:10:10 - {"scale": 2, "battery": null, "valueType": 256, "value": 53.200000000000003, "deviceId": 15, "type": "sensorValueUpdated"}
telldus-+-debug/05-05-2020_08_10_10.29410137.bin:06:10:10 - sensorState {'scale': 2, 'lastUpdated': 1588659009, 'value': '53.2'}
telldus-+-debug/05-05-2020_08_10_11.29411132.bin:06:10:11 - {"scale": 2, "battery": null, "valueType": 256, "value": 131.40000000000001, "deviceId": 15, "type": "sensorValueUpdated"}
telldus-+-debug/05-05-2020_08_10_11.29411146.bin:06:10:11 - sensorState {'scale': 2, 'lastUpdated': 1588659010, 'value': '131.4'}
telldus-+-debug/05-05-2020_08_10_16.29416061.bin:06:10:16 - {"origin": "Incoming signal", "stateValue": "", "state": 1, "devicetype": "cover", "deviceId": 15, "type": "deviceStateChanged"}
telldus-+-debug/05-05-2020_08_10_16.29416075.bin:06:10:16 - deviceState 15, state: 1, value: 
telldus-+-debug/05-05-2020_08_10_17.29417171.bin:06:10:17 - {"scale": 2, "battery": null, "valueType": 256, "value": 0.0, "deviceId": 15, "type": "sensorValueUpdated"}
telldus-+-debug/05-05-2020_08_10_17.29417185.bin:06:10:17 - sensorState {'scale': 2, 'lastUpdated': 1588659017, 'value': '0.0'}
quazzie commented 2 years ago

Try 0.90.1 It's a total rewrite of the plugin. If it still does not work please post new debug info and i'll take a look. Thanks.