[Plugin] Sync Devices to Timer

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
skarab22
Messages : 101
Inscription : 14 nov. 2019, 09:18

[Plugin] Sync Devices to Timer

Message 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
gueriop
Messages : 7
Inscription : 28 janv. 2021, 09:03

Re: [Plugin] Sync Devices to Timer

Message 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
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: [Plugin] Sync Devices to Timer

Message 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 ?
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
gueriop
Messages : 7
Inscription : 28 janv. 2021, 09:03

Re: [Plugin] Sync Devices to Timer

Message 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)
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: [Plugin] Sync Devices to Timer

Message 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 ?
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
gueriop
Messages : 7
Inscription : 28 janv. 2021, 09:03

Re: [Plugin] Sync Devices to Timer

Message 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é :?
Dernière modification par Keros le 30 janv. 2021, 18:39, modifié 1 fois.
Raison : Merci de ne pas citer le message précédent lors d'une réponse directe
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: [Plugin] Sync Devices to Timer

Message 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
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
gueriop
Messages : 7
Inscription : 28 janv. 2021, 09:03

Re: [Plugin] Sync Devices to Timer

Message par gueriop »

C'est ce que aussi testé et sans amélioration
Dernière modification par Keros le 31 janv. 2021, 08:14, modifié 1 fois.
Raison : Merci de ne pas citer le message précédent lors d'une réponse directe
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: [Plugin] Sync Devices to Timer

Message 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 ?
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
gueriop
Messages : 7
Inscription : 28 janv. 2021, 09:03

Re: [Plugin] Sync Devices to Timer

Message 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
Dernière modification par Keros le 31 janv. 2021, 21:28, modifié 1 fois.
Raison : Merci de ne pas citer le message précédent lors d'une réponse directe
Répondre