[Résolu] dzVents -> pbm changement d'icône sur un custom sensor

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
lolo6112
Messages : 54
Inscription : 17 juil. 2016, 16:12

Re: dzVents -> pbm changement d'icône sur un custom sensor [Résolu]

Message par lolo6112 »

Dans mon intervention je ne crois pas m'être adressé à toi monsieur : e111111.

Jusqu'à preuve du contraire kurogane l'a écrit lui même :
par Kurogane 21 janv. 2022, 16:25
Ah non pas du tous j'ai justement pris le script donné sur le github en suivant les explications je n'ai absolument rien changé hormis le numero du device.


Alors :
Je suis calme ;
Je rappelle juste qu'avant de bidouiller il vaut mieux savoir ce qu'on fait, surtout sur du "hack" comme l'a dit Neutrino ;
Et pour conclure je dis que au bout de 2 ans passés je n'ai pas du tout envie de tout reprendre alors que la personne qui pose la question n'a même pas contrôlé si il avait fait les adaptations requises sur le script comme expliqué .....

Donc les donneurs de leçons................, circulez y a rien à voir !
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: dzVents -> pbm changement d'icône sur un custom sensor [Résolu]

Message par Neutrino »

On se détend dans les rangs.
Faites gaffe à vos culs, je vous surveille :mrgreen:
Le secret, c'est la lecture. comme le dit lolo.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: dzVents -> pbm changement d'icône sur un custom sensor [Résolu]

Message par Keros »

On reprend tranquillement ;)
Keros a écrit : 21 janv. 2022, 16:09 Je trouve bizarre que tes numéros d'icônes personnalisés correspondent exactement aux explications données dans le script :?

Le numéro de device est bon également ?
Le numéro de device, c'est bon, ok.

Et les numéros d'icônes personnalisés ??? Puisque tu n'as changé que le numéro de device : ça doit être non
:arrow: Re-regarde les explications dans le script à propos des icônes personnalisés, un premier souci peut venir de là.
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
kurogane
Messages : 19
Inscription : 20 janv. 2022, 20:26

Re: dzVents -> pbm changement d'icône sur un custom sensor [Résolu]

Message par kurogane »

lolo6112 a écrit : 21 janv. 2022, 18:36 Bonsoir,
Je n'ai pas touché à ce script depuis 2019, qui fonctionne très bien d'ailleurs.
Et pas à Domoticz non plus, c'est stable alors les MàJ pas vraiment envie de foutre la zone.
Par contre quand je vois que les ID des icônes personnalisés n'ont même pas été modifiés... Scro Gneu Gneu !!!
Il y a, au pire, 2 pages à lire et tout à été dis, en plus il y a dans la signature de Papou le lien sur son excellent ste où il réexplique tout dans le détail pour chaque implémentation qu'il fait.
Alors avant de poser des questions, posez-vous donc les bonnes : "Ais-je bien tout lu ?" Et "L'ai-je bien compris ?"

Moi désolé mais plus de 2 ans après coup je n'ai pas trop envie de tout me cogner pour trouver vos bétises ou oublis.
Alors bonne lecture.
Y a pas de soucie rien ne t'y oblige.
Si je n'ai pas changé le numéro des icônes c'est qu'avant de bidouiller partout et de pas savoir ce qui marche pas je préfère y aller morceau par morceau.

Du coup j'ai changé les numéro ce qui n'as rien changé mais a force de naviguer entre les différentes page j'ai vu que je pouvais ajouté manuellement les level du sélecteur je pensais que c'était le script qui les ajoutait. Du coup après avoir mis les 8 levels ça fonctionne. Reste plus qu'a voir si ça change automatiquement!
ker49
Messages : 85
Inscription : 08 janv. 2016, 18:13

Re: [Résolu] dzVents -> pbm changement d'icône sur un custom sensor

Message par ker49 »

Bonjour à vous tous,
Je déterre un peu le sujet qui m'intéresse beaucoup.
J'ai déjà fait des sélecteurs et j'ai réussi à trouver le numéro des icones créées.
Pourtant, cela ne fonctionne pas.
Pour le script V 1.02, faut-il mettre en lua ? Si oui, en Time ou Device ?
Je ne maitrise pas ces différentes nuances et je suis un peu perdu là.
Je précise que j'ai bien lu ces pages (et d'autres aussi).
Je pense qu'il y a un petit truc qui fait que c'est en erreur même si j'en ne suis pas forcement loin
Dans les logs de Domoticz j'ai l'erreur suivante en ligne 18 :

Code : Tout sélectionner

2022-10-04 16:31:52.361 Error: EventSystem: in daysSelectorIcons: [string "-- daysSelectorIcons.lua..."]:18: attempt to index a nil value (global 'domoticz'
Si vous avez une piste, je suis preneur de votre aide
Merci par avnce

Code : Tout sélectionner

-- daysSelectorIcons.lua
-- source : https://www.domoticz.com/forum/viewtopic.php?f=59&t=27501&p=210819&hilit=seticon#p210819
-- https://pon.fr/dzvents-afficher-le-jour-de-la-semaine-sous-forme-d-icone/
-- https://easydomoticz.com/forum/
-- icones : https://github.com/papo-o/domoticz_scripts/tree/master/Icons/Days
--  update/mise à jour = 27/12/2019


local scriptName        = 'daysSelectorIcons'
local scriptVersion     = '1.02'
return  {   
        active = true,
        on =    {  
                       devices         = {1595}, -- change to your device(s) separated by a comma like {2479,2480} 
                    },

   logging =   {  -- -- -- level    =   domoticz.LOG_DEBUG,                                             -- Seulement un niveau peut être actif; commenter les autres
                  level    =   domoticz.LOG_INFO,                                            -- Only one level can be active; comment others
                -- -- -- level    =   domoticz.LOG_ERROR,
                -- -- -- level    =   domoticz.LOG_MODULE_EXEC_INFO,
                 marker = scriptName..' v'..scriptVersion
    },

    execute = function(dz, item)
    
        local function logWrite(str,level)
            dz.log(tostring(str),level or dz.LOG_DEBUG)
        end
        local icons =     { 
                            [10] = 108,-- level correspondant à dimanche
                            [20] = 109,-- level correspondant à lundi
                            [30] = 105,-- level correspondant à mardi
                            [40] = 106,-- level correspondant à mercredi
                            [50] = 107,-- level correspondant à jeudi
                            [60] = 103,-- level correspondant à vendredi
                            [70] = 104,-- level correspondant à samedi

                        }
           
        logWrite('lastLevel '.. tostring(item.lastLevel))
        logWrite('level '.. tostring(item.level))
        if item.level ~= item.lastLevel then 
            item.setIcon(icons[item.level])
        else
            logWrite('No Icon change necessary for ' .. item.id)
        end
    end
}
lolo6112
Messages : 54
Inscription : 17 juil. 2016, 16:12

Re: [Résolu] dzVents -> pbm changement d'icône sur un custom sensor -> important News

Message par lolo6112 »

Bonjour,

Bon bah au bout de 3 longues années il a bien fallu que je le fasse, "reprendre tout", enfin reprendre la source surtout !
Parce que en terme de météo, Météo France sont des clowns, et ça date pas d'hier.
J'argumente :
En 2005 on avait des tempêtes sur le Pas de Calais et professionnellement j'avais besoin de connaître les valeurs de prévision venteuse très précisément. Risque d'évacuation d'un ERP, 225 boutiques et 6 restaurants, c'est pas rien.
Et bien il a fallu que je m'inscrive sur des sites "Metar UK" pour être sûr d'avoir des données pas trop fantaisistes...

Sachant cela et le prix que Apple demande pour continuer avec les données type Darsky, j'ai trouvé une très bonne alternative, pour ne pas dire 'l'alternative' :
Pirate Weather ;)
Ils ne donnent pas encore les différentes langues en retour JSON, les alertes météo ne sont que pour les USA.
Mais bon, c'est gratuit au pire vous donnez un peu de support raisonnable (2€, 5€ à coté des 99€/an d'Apple :lol: )
Et c'est tout bon, enfin je vais voir avec mes scripts pour Darsky, mais de ce que j'ai vu cela ne devrait pas être très pénible, un peu de nom de champs à changer peut-être.
Je rappelle quand même que ceci est du "hack". Donc ceux pour qui le HTML, JSON , LUA et consort donnent des boutons, passez votre chemin :mrgreen: .

Alors je sais ce fil est vieux, le rachat par Apple a été annoncé depuis longtemps, mais bon je suis à la retraite, alors moi :)
J'ai attendu d'avoir des erreurs dans le log de Domoticz :mrgreen: :mrgreen: erreurs arrivées d'ailleurs le 1er avril à 12h10 UTC + 2, et non ce n'était pas un poisson.

Les liens :
Le site pour l'inscription :
https://pirate-weather.apiable.io/
Lorsque vous suivez le fil pour obtenir une APIKey vous allez trouvez pour vous inscrire. Moi ça a merdé avec une de mes adresses mail le premier coup, mais bon lors de la deuxième tentative c'était bon.

La doc pour l'API sur Github, nécessaire pour la syntaxe, éviter par exemple les prévision horaires, les alertes :
https://github.com/alexander0042/pirate ... ocs/API.md

Et enfin le site sur Github, pas indispensable, mais vous connaîtrez les gens derrière tout ça :
https://github.com/alexander0042/pirateweather

Un peu de HS, mais comme je prend la peine d'écrire, je répond au déterrage fait, après tout je déterre aussi :D
ker49 a écrit : 04 oct. 2022, 16:20 Bonjour à vous tous,
Je déterre un peu le sujet qui m'intéresse beaucoup.
J'ai déjà fait des sélecteurs et j'ai réussi à trouver le numéro des icônes créées.
Pourtant, cela ne fonctionne pas.
Pour le script V 1.02, faut-il mettre en lua ? Si oui, en Time ou Device ?
Bonjour ker49,
Alors je pense que tu as trouvé mais bon il aura fallu que tu bosses un peu le sujet, tu te posais des questions et faisais probablement des confusions entre LUA pour Domoticz et le dzEvent.
Le LUA c'est le langage utilisé dans domoticz, donc oui c'est toujours en LUA même sur du dzEvent.
Pour info :
-Le LUA c'est un C++, C# détourné par des portugais, ou espagnols me rappelle plus, peu importe. De toutes façons quand on connaît le C/C++ le LUA n'apporte pas de grosses différences ;
- Le dzEvent c'est une amélioration des scripts LUA pour Domoticz apportée par un contributeur, désolé je n'ai plus son nom en tête, mais voilà pourquoi c'est aussi du LUA :)
Les notions time ou device, sont données elles par domoticz, elles n'ont rien à voir avec le langage et sont différentes, Time c'est toutes les xxx secondes, device seulement pour ce, ou ces, device(s). Mais dans le script dzEvent donné, on est sur du dzEvent, donc pas de notion de différents scripts 'Time' ou 'Device'. De toutes façons tous les scripts sont balayés toutes les xx secondes, time ou device peu importe, puisque les précisions sont données dans le script.
A la base aussi sur Domoticz, d'ou probablement cette simplification pour du dzEvent. Dans le cas présent le dzEvent c'est lorsqu'un device "selector" change d'état que l'on va changer son icône. Et bin en fonction de sa valeur d'état au device dans le code par une condition If de comparaison sur le "lastlevel" qui est enregistré :mrgreen: .
Vu le retour qu tu as cité "nil value", il s'agit plus que probablement de l'ID du device qui n'existe pas chez toi, l'as-tu bien changée comme indiqué ? Ou alors c'est l'id (N°) de l'icône mais moins sûr ça, de toutes façons je t'en parle aussi après.
Par contre sur ce fil je n'ai utilisé les scripts référencés que pour les phases de lune, je ne connais donc pas le script de Papou pour les jours de la semaine :?: mais bon l'erreur ne vient pas de là elle, c'est sûr.
Le mieux serait de passer au niveau "domoticz.LOG_DEBUG" c'est actuellement en "domoticz.LOG_INFO". Attention !!! une seule méthode à la fois, donc il faut commenter "domoticz.LOG_INFO" et dé-commenter (enlever les 3 tirets doubles) devant le premier. En phase de test c'est beaucoup mieux, et c'est comme ça que ça marche pour le dzEvent ;) Comme pour beaucoup d'autres langages d'ailleurs.
Dernier point à re contrôler, tu dis "j'ai déjà utilisé des sélecteurs donc les icônes j'ai trouvé", oui mais ont-ils chez toi les mêmes numéros ??? Moi ça m'étonne un peu quand même, ou alors tu les as changé dans le code.
Je parle de ça parce que Papou là, il n'a pas donné la meilleure méthode. En en-tête comme il le fait habituellement sur les devices etc, les n° d'icônes à traiter seraient les bienvenus.
Les numéros sont dans le code en dur comme on dit en programmation. Alors là oui vu la taille du script c'est pas bien grave et probablement pourquoi Papou l'a fait.
Mais sur un script/programme trèèèèès long il vaut mieux mettre en en-tête toutes 'variable' ou 'constantes' même si ce sont des constantes du système qui risquent de ne changer que d'une machine à l'autre.
Tout ce qui précède sur les numéros d'icônes ne peut-être qu'une supposition car comme tu es en mode debug info tu ne sais même pas à quelle ligne stoppe ton script, d'où ma remarque là dessus ;)
Voilà, ça c'est mon point de vue et petite contrib de newbie en prog. (je programme depuis 1976 quand même :mrgreen: :mrgreen: )
Certains comprendront mieux pourquoi, parfois, les vieux de la vieille saturent des new geeks qui ne réagissent pas toujours à des trucs vraiment basiques en prog. Mais bon si c'est pour apprendre et pour la bonne cause, vous serez toujours les bienvenus :)
Fin du HS

Voilà.
Bonne continuation à tous, excellents journée à vous avec une bonne météo,
Laurent
Répondre