Combee2 Sonoff SNZB-01P
Re: Combee2 Sonoff SNZB-01P
Sans avoir la ligne d'erreur dans les logs, il sera difficile de faire une analyse ...
Pour découvrir et comprendre comment fonctionne la programmation / les conditions, je te propose de regarder les petits guides que j'ai écrits dans ma présentation : il y en a un intitulé Débuter en programmation (lien dans ma signature).
Pour découvrir et comprendre comment fonctionne la programmation / les conditions, je te propose de regarder les petits guides que j'ai écrits dans ma présentation : il y en a un intitulé Débuter en programmation (lien dans ma signature).
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Combee2 Sonoff SNZB-01P
Je n'avais pas pensé à modifier debug c'est en lisant "Débuter en programmation" cela pourrais t-il aider, mais je ne vois aucune erreur.
En faite si je comprend bien le sketch Lua ne commande pas le Device "Eclairage_Froid" mais ne comprend pas pourquoi?
En faite si je comprend bien le sketch Lua ne commande pas le Device "Eclairage_Froid" mais ne comprend pas pourquoi?
2025-10-09 09:47:36.042 deCONZ zigbee Bridge: Received 140 bytes of data
2025-10-09 09:47:36.042 deCONZ zigbee Bridge: Received 169 bytes of data
2025-10-09 09:47:36.042 deCONZ zigbee Bridge: onMessage called
2025-10-09 09:47:36.043 deCONZ zigbee Bridge: ### WebSocket Data : {'attr': {'lastseen': '2025-10-09T07:47Z'}, 'e': 'changed', 'id': '19', 'r': 'sensors', 't': 'event', 'uniqueid': '38:5c:fb:ff:fe:ce:03:a9-01-0006'}
2025-10-09 09:47:36.043 deCONZ zigbee Bridge: onMessage called
2025-10-09 09:47:36.043 deCONZ zigbee Bridge: ### WebSocket Data : {'e': 'changed', 'id': '19', 'r': 'sensors', 'state': {'buttonevent': 1002, 'lastupdated': '2025-10-09T07:47:35.992'}, 't': 'event', 'uniqueid': '38:5c:fb:ff:fe:ce:03:a9-01-0006'}
2025-10-09 09:47:36.044 deCONZ zigbee Bridge: ### Update device (deCONZ - SNZB01P) : {'nValue': 10, 'sValue': '10'}
2025-10-09 09:47:36.044 (deCONZ - SNZB01P) Updating device from 0:'Off' to have values 10:'10'.
2025-10-09 09:47:38.069 deCONZ zigbee Bridge: onHeartbeat called
2025-10-09 09:47:38.070 deCONZ zigbee Bridge: ### Update device (deCONZ - SNZB01P) : {'nValue': 0, 'sValue': 'Off'}
2025-10-09 09:47:38.070 (deCONZ - SNZB01P) Updating device from 10:'10' to have values 0:'Off'.
Dernière modification par Keros le 09 oct. 2025, 20:26, modifié 1 fois.
Raison : Ajout des balises pour les logs. Merci de lire la section Bien utiliser le forum
Raison : Ajout des balises pour les logs. Merci de lire la section Bien utiliser le forum
-
Flying Domotic
- Messages : 772
- Inscription : 10 mars 2020, 15:26
Re: Combee2 Sonoff SNZB-01P
Le plus simple pour écrire un script quand on débute est d'utiliser le template proposé par Domoticz.
Pour l'obtenir, aller dans le menu "Configuration" > "Plus d'options" > "Évènements", puis cliquer sur le "+" à la fin de la liste des onglets et choisir "LUA" > "Device".
On tombe sur ça :
Dans ton cas, il suffit de remplacer :
par :
Remarque : le switch "deCONZ - SNZB01P" semble être un sélecteur, dont les valeurs sont "Off" pour zéro et "10" pour 10, qui est la première option. Si on veut tester sur "B1", il faudra changer plus tard les valeurs texte de ce switch (lire un peu la doc pour voir comment on fait ça). Quand ça sera fait, le script ne fonctionnera que si on remplace le test if deviceValue == "10" par if deviceValue == "B1" (ou en fait la valeur affectée au niveau 10).
Pour l'obtenir, aller dans le menu "Configuration" > "Plus d'options" > "Évènements", puis cliquer sur le "+" à la fin de la liste des onglets et choisir "LUA" > "Device".
On tombe sur ça :
Code : Tout sélectionner
--
-- Domoticz passes information to scripts through a number of global tables
--
-- device changed contains state and svalues for the device that changed.
-- devicechanged['yourdevicename'] = state
-- devicechanged['svalues'] = svalues string
--
-- otherdevices, otherdevices_lastupdate and otherdevices_svalues are arrays for all devices:
-- otherdevices['yourotherdevicename'] = "On"
-- otherdevices_lastupdate['yourotherdevicename'] = "2015-12-27 14:26:40"
-- otherdevices_svalues['yourotherthermometer'] = string of svalues
--
-- uservariables and uservariables_lastupdate are arrays for all user variables:
-- uservariables['yourvariablename'] = 'Test Value'
-- uservariables_lastupdate['yourvariablename'] = '2015-12-27 11:19:22'
--
-- other useful details are contained in the timeofday table
-- timeofday['Nighttime'] = true or false
-- timeofday['SunriseInMinutes'] = number
-- timeofday['Daytime'] = true or false
-- timeofday['SunsetInMinutes'] = number
-- globalvariables['Security'] = 'Disarmed', 'Armed Home' or 'Armed Away'
--
-- To see examples of commands see: http://www.domoticz.com/wiki/LUA_commands#General
-- To get a list of available values see: http://www.domoticz.com/wiki/LUA_commands#Function_to_dump_all_variables_supplied_to_the_script
--
-- Based on your logic, fill the commandArray with device commands. Device name is case sensitive.
--
commandArray = {}
-- loop through all the changed devices
for deviceName,deviceValue in pairs(devicechanged) do
print ("Device based event fired on '"..deviceName.."', value '"..tostring(deviceValue).."'");
-- if (deviceName=='myDevice') then
-- if deviceValue == "On" then
-- print("Device is On")
-- elseif deviceValue == "Off" then
-- commandArray['a device name'] = "On"
-- commandArray['another device name'] = "Off AFTER 10"
-- commandArray['Scene:MyScene'] = "Off"
-- commandArray['Group:My Group'] = "Off AFTER 30"
-- end
-- end
end
return commandArray
Code : Tout sélectionner
-- if (deviceName=='myDevice') then
-- if deviceValue == "10" then
-- print("Device is On")
-- elseif deviceValue == "Off" then
-- commandArray['a device name'] = "On"
-- commandArray['another device name'] = "Off AFTER 10"
-- commandArray['Scene:MyScene'] = "Off"
-- commandArray['Group:My Group'] = "Off AFTER 30"
-- end
-- end
Code : Tout sélectionner
if (deviceName=='deCONZ - SNZB01P') then
if deviceValue == "10" then
if (otherdevices['deCONZ-Eclairage_Froid']== 'On') then
commandArray['deCONZ-Eclairage_Froid'] = 'Off'
else
commandArray['Scene:Light Eclairage_Froid'] = 'On'
end
end
end
Re: Combee2 Sonoff SNZB-01P
Tu peux utiliser
Pour avoir la valeur du bouton quand tu presses dessus, vu qu'on est deja sur que la pression est detectée.
@Flying Domotic dans ton code tu utilises un coup "commandArray['deCONZ-Eclairage_Froid']" et un coup "commandArray['Scene:Light Eclairage_Froid']"
D'apres sa capture le nom serait juste "commandArray['Eclairage_Froid']"
Code : Tout sélectionner
print(devicechanged['xxxxxxxxxx'])@Flying Domotic dans ton code tu utilises un coup "commandArray['deCONZ-Eclairage_Froid']" et un coup "commandArray['Scene:Light Eclairage_Froid']"
D'apres sa capture le nom serait juste "commandArray['Eclairage_Froid']"
-
Flying Domotic
- Messages : 772
- Inscription : 10 mars 2020, 15:26
Re: Combee2 Sonoff SNZB-01P
Merci pour la remarque, j'avais juste copié/collé le contenu depuis l'exemple de script donné (et je n'utilise pas Deconz)
Dernière modification par Keros le 10 oct. 2025, 20:34, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Re: Combee2 Sonoff SNZB-01P
Pas de soucis, c'est juste que pour moi son soucis c'est juste des problèmes de typos, donc ça se joue a pas grand chose.
Re: Combee2 Sonoff SNZB-01P
Il n'y à rien à faire je n'arrive pas à commander le Device lumière. Le bouton est détecter dans les log.
mais je n'ai toujours aucune action dans les log concernant le device lumière.
Je lis et je relis je teste, toujours le même problème.
Lorsque j'utile ton exemple j'ai un message d'erreur aves la fonction else à la ligne 9

mais je n'ai toujours aucune action dans les log concernant le device lumière.
Je lis et je relis je teste, toujours le même problème.
Lorsque j'utile ton exemple j'ai un message d'erreur aves la fonction else à la ligne 9
2025-10-30 11:04:11.452 Error: EventSystem: in Script #1: [string " ..."]:9: <eof> expected near 'else'
Dernière modification par Keros le 30 oct. 2025, 12:35, modifié 1 fois.
Raison : Ajout des balises pour les log
Raison : Ajout des balises pour les log
Re: Combee2 Sonoff SNZB-01P
Remets nous ton code complet et un screenshot du des widgets (c'est pour vérifier les noms utilisés).
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Combee2 Sonoff SNZB-01P
Je vais vous envoyer mon code, mais avant je pense peut être, être sur une piste.
Lorsque j'actionne le widget "Eclairage froid" dans Domoticz la lumière s'allume bien et le widget dans Phoscon s'allume bien également, jusque ici pas de problème.
Par contre lorsque j'actionne uniquement le widget dans Phoscon il n'y à aucune réaction, cela est t-il normal?
Lorsque j'actionne le widget "Eclairage froid" dans Domoticz la lumière s'allume bien et le widget dans Phoscon s'allume bien également, jusque ici pas de problème.
Par contre lorsque j'actionne uniquement le widget dans Phoscon il n'y à aucune réaction, cela est t-il normal?
Re: Combee2 Sonoff SNZB-01P
Peut etre as tu configuré un groupe dans Phoscon ? (Car de mon coté je ne vois pas comment tu peux avoir un "widget" dedié a ta lampe sous Phoscon, quand on va dans la liste des "lampes" ceux-ci ne sont pas selectionnable).
Mais on galere deja juste avec Deconz et Domoticz, donc pour le moment on va oublier Phoscon.
Le bouton est detecté
Le widget dans domoticz fonctionne
Il manque juste 4 lignes de code pour lier les deux, juste a voir les noms utilisés.
Mais on galere deja juste avec Deconz et Domoticz, donc pour le moment on va oublier Phoscon.
Le bouton est detecté
Le widget dans domoticz fonctionne
Il manque juste 4 lignes de code pour lier les deux, juste a voir les noms utilisés.