Page 1 sur 2

[Plugin] Sync Devices to Timer

Publié : 09 nov. 2020, 16:19
par skarab22
Bonjour à tous,

Suite à plusieurs échange sur ce forum, je vous propose, en collaboration avec Syrhus un nouveau plugin Domocticz. Ce plugin permet au démarrage de Domoticz de vérifier si les différents timer pour chaque device sont à jours et le cas échéant de mettre le device dans le bon état.

Cela permet aussi, si vous utilisez comme moi les Timer Plan de mettre à jour vos devices lors du changement (prévoir un script LUA qui déclanche le switch lors du changement).

En espérant que ça vous servira autant qu'à moi !

Encore un énorme merci à Syrhus pour avoir débugger mon code et l'avoir intégré à un plugin Domoticz

Re: [Plugin] Sync Devices to Timer

Publié : 28 janv. 2021, 09:10
par gueriop
Bonjour,

Je débute sur Domoticz et j'ai decouvert ton plugin avec la mise en place de planning pour gérer mon chauffage.
J'ai un peu galéré pour l'installation (je débute...), maintenant j'ai des erreurs au lancement, voici le debug :

2021-01-28 09:07:27.531 (syncdevicetotimer) Debug logging mask set to: PYTHON PLUGIN QUEUE IMAGE DEVICE CONNECTION MESSAGE ALL
2021-01-28 09:07:27.532 (syncdevicetotimer) Pushing 'PollIntervalDirective' on to queue
2021-01-28 09:07:27.532 (syncdevicetotimer) 'HardwareID':'11'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'HomeFolder':'/home/pi/domoticz/plugins/SyncDeviceToTimer/'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'StartupFolder':'/home/pi/domoticz/'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'UserDataFolder':'/home/pi/domoticz/'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'Database':'/home/pi/domoticz/domoticz.db'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'Language':'fr'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'Version':'1.0.0'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'Author':'Skarab22'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'Name':'syncdevicetotimer'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'Address':'127.0.1.1'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'Port':'8080'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'Key':'SyncDeviceToTimer'
2021-01-28 09:07:27.532 (syncdevicetotimer) 'Mode6':'Debug'
2021-01-28 09:07:27.533 (syncdevicetotimer) 'DomoticzVersion':'2020.2'
2021-01-28 09:07:27.533 (syncdevicetotimer) 'DomoticzHash':'b63341bc0'
2021-01-28 09:07:27.533 (syncdevicetotimer) 'DomoticzBuildTime':'2020-04-26 13:47:55'
2021-01-28 09:07:27.533 (syncdevicetotimer) Device count: 1
2021-01-28 09:07:27.533 (syncdevicetotimer) Device: 1 - ID: 13, Name: 'syncdevicetotimer - SynchronizeDevices', nValue: 0, sValue: ''
2021-01-28 09:07:27.533 (syncdevicetotimer) Device ID: '13'
2021-01-28 09:07:27.533 (syncdevicetotimer) Device Name: 'syncdevicetotimer - SynchronizeDevices'
2021-01-28 09:07:27.533 (syncdevicetotimer) Device nValue: 0
2021-01-28 09:07:27.533 (syncdevicetotimer) Device sValue: ''
2021-01-28 09:07:27.533 (syncdevicetotimer) Device LastLevel: 0
2021-01-28 09:07:27.533 (syncdevicetotimer) get_timer_list=> 127.0.1.1:8080
2021-01-28 09:07:27.533 (syncdevicetotimer) url:http://127.0.1.1:8080/json.htm?type=sch ... ter=device
2021-01-28 09:07:27.562 (syncdevicetotimer) Processing 'PollIntervalDirective' message
2021-01-28 09:07:27.562 (syncdevicetotimer) Heartbeat interval set to: 30.
2021-01-28 09:07:27.562 Error: (syncdevicetotimer) 'onStart' failed 'TypeError':''NoneType' object is not subscriptable'.
2021-01-28 09:07:27.562 Error: (syncdevicetotimer) ----> Line 193 in '/home/pi/domoticz/plugins/SyncDeviceToTimer/plugin.py', function onStart
2021-01-28 09:07:27.562 Error: (syncdevicetotimer) ----> Line 171 in '/home/pi/domoticz/plugins/SyncDeviceToTimer/plugin.py', function onStart
2021-01-28 09:07:27.562 Error: (syncdevicetotimer) ----> Line 67 in '/home/pi/domoticz/plugins/SyncDeviceToTimer/plugin.py', function get_timer_list

Je connais la programmation, mais l'environnement, ni le python et clairement un peu paumé

Peux tu m'aider ?

Merci

Re: [Plugin] Sync Devices to Timer

Publié : 30 janv. 2021, 07:06
par denis_brasseur
Ton message d'erreur ressemble bien à un problème lié à l'adresse IP ou au port saisie dans le configuration du plugin.
Est ce que 127.0.1.1 et 8080 correspondent bien à l'IP et au port de ton PI ?

Re: [Plugin] Sync Devices to Timer

Publié : 30 janv. 2021, 07:43
par gueriop
merci pour la reponse

oui je pense que c'est bon, j'ai aussi testé avec l'adresse IP réseau et 127.0.0.1, sans succes.
Lorsque j’accède au json de mon PC avec l'IP réseau j'ai bien un retour (http://192.168.1.20:8080/json.htm?type=sch ... ter=device)

Re: [Plugin] Sync Devices to Timer

Publié : 30 janv. 2021, 17:03
par denis_brasseur
gueriop a écrit : 30 janv. 2021, 07:43 oui je pense que c'est bon, j'ai aussi testé avec l'adresse IP réseau et 127.0.0.1, sans succes.
Je pense que c'est bon, ça veux dire que ça fonctionne ?

Re: [Plugin] Sync Devices to Timer

Publié : 30 janv. 2021, 17:47
par gueriop
non ca veut dire que pour l'IP et port, pour moi c'est bon :D

par contre j'ai toujours l'erreur du début, j'ai fouillé le code et pour l'instant pas avancé :?

Re: [Plugin] Sync Devices to Timer

Publié : 31 janv. 2021, 06:20
par denis_brasseur
gueriop a écrit : 30 janv. 2021, 07:43 merci pour la reponse

oui je pense que c'est bon, j'ai aussi testé avec l'adresse IP réseau et 127.0.0.1, sans succes.
Lorsque j’accède au json de mon PC avec l'IP réseau j'ai bien un retour (http://192.168.1.20:8080/json.htm?type=sch ... ter=device)
Si cela fonctionne depuis le navigateur avec 192.168.1.20:8080, alors c'est bien cette IP et port que tu dois saisir dans la configuration du plugin et non pas 127.0.1.1

Re: [Plugin] Sync Devices to Timer

Publié : 31 janv. 2021, 07:24
par gueriop
C'est ce que aussi testé et sans amélioration

Re: [Plugin] Sync Devices to Timer

Publié : 31 janv. 2021, 17:31
par Chrominator
gueriop a écrit : 28 janv. 2021, 09:10 2021-01-28 09:07:27.533 (syncdevicetotimer) Device count: 1
Question idiote :
D'après ton log il n'y aurait qu'un dispositif éligible.
Est-ce qu'il y a un timer déjà défini dessus ou rien du tout ?

Re: [Plugin] Sync Devices to Timer

Publié : 31 janv. 2021, 20:18
par gueriop
D'apres ce que j'ai compris ca ne fonctionne pas comme, le script recupere tous les timers présents dans l'environnement