Je bloque sur un envoi de notif / mail

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 <\>.
Datawolf
Messages : 273
Inscription : 03 avr. 2018, 13:51

Je bloque sur un envoi de notif / mail

Message par Datawolf »

Salut,
Les devices TEXT c'est bien beau, mais j'ai décidé de passer à l'envoi de mail.
J'ai fait un script qui contrôle de niveau des piles de mes sondes, mais je ne reçois pas de mail.
Je me suis alors inscrit à pushbullet, le bouton "test" marche bien, mais je ne reçois rien du script.
J'ai d'abord cru que c'était à cause du '%' et je l'ai viré, mais rien à faire.

Code : Tout sélectionner

--[[
Tous les samedis matin, vérifie le niveau des piles
Et envoie un mail en deçà d'un certain seuil
--]]

return {
	on = { timer =   { 'at 21:52 on mon'	}
	},
	execute = function(domoticz, timer)

      local lowBat = 30	-- seuil de l'alerte
      
      local subsystem = "pushbullet"

      domoticz.devices().forEach(function(device)
        batLevel = device.batteryLevel
        if batLevel ~= nil then -- uniquement pour les devices pour lesquels ça fait sens
          info = 'Pourcentage batterie '..device.name..' '..batLevel..''
          domoticz.log(info,domoticz.LOG_INFO)
--          if ( batLevel < lowBat) then
--                                                                    'subject        #body      #extraData#priority#sound#subsystem'
             commandArray[#commandArray+1] = {['SendNotification'] = 'Notif Domusticz#'..info..'#'..     '#'..    '#'.. '#'.. subsystem ..''}
--                                                                   'objet          #message   #    adresse@mail.com'             
             commandArray[#commandArray+1] = {['SendEmail']        = 'Notif Domusticz#'..info..'#'..'monadresse@gmail.com'}             
--          end -- if level
        end -- if nil
      end) -- forEach

	end -- execute function
}
help !

@+
Datawolf
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Je bloque sur un envoi de notif / mail

Message par papoo »

Bonjour,
tu utilises des commandArray dans un script dzvents, ce n'est pas nécessaire
pour l'envoi de notification il y a la fonction domoticz.notify()
pour spécifier un ou plusieurs systèmes de notification il faut respecter la syntaxe domoticz.NSS_{le système de notification}
les Systèmes de notification disponibles :
NSS_GOOGLE_CLOUD_MESSAGING NSS_HTTP NSS_KODI NSS_LOGITECH_MEDIASERVER NSS_NMA NSS_PROWL NSS_PUSHALOT NSS_PUSHBULLET NSS_PUSHOVER NSS_PUSHSAFER
Pour une notification sur plusieurs systèmes, séparez les systèmes par une virgule.

Exemple :{domoticz.NSS_TELEGRAM, domoticz.NSS_HTTP}

pour l'envoi de mail il y a la fonction domoticz.email('sujet', 'message, 'adresse@mail.com')

ce qui donnerait pour ton script

Code : Tout sélectionner

--[[
Tous les samedis matin, vérifie le niveau des piles
Et envoie un mail en deçà d'un certain seuil
--]]

return {
	on = { timer =   {'at 21:52 on mon'}},

	execute = function(domoticz, timer)

      local lowBat = 30	-- seuil de l'alerte
      
      local subsystem = "domoticz.NSS_PUSHBULLET"
                    --[[ Systèmes de notification disponibles :
                        NSS_GOOGLE_CLOUD_MESSAGING NSS_HTTP NSS_KODI NSS_LOGITECH_MEDIASERVER NSS_NMA NSS_PROWL NSS_PUSHALOT NSS_PUSHBULLET NSS_PUSHOVER NSS_PUSHSAFER
                        Pour une notification sur plusieurs systèmes, séparez les systèmes par une virgule.
                        Exemple :{domoticz.NSS_TELEGRAM, domoticz.NSS_HTTP}
                    --]]

      domoticz.devices().forEach(function(device)
        batLevel = device.batteryLevel
        if batLevel ~= nil and batLevel < lowBat then -- uniquement pour les devices pour lesquels ça fait sens
          info = 'Pourcentage batterie '..device.name..' '..batLevel..''
          domoticz.log(info,domoticz.LOG_INFO)
       
        domoticz.notify("Notif Domoticz", info, domoticz.PRIORITY_HIGH, ' ', ' ', subsystem)                                    
        domoticz.email('Notif Domoticz', info, 'monadresse@gmail.com')

        end -- if nil
      end) -- forEach

	end -- execute function
}
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Datawolf
Messages : 273
Inscription : 03 avr. 2018, 13:51

Re: Je bloque sur un envoi de notif / mail

Message par Datawolf »

Bonjour Papoo,

Je te remercie pour ton aide.
Je reçois désormais le mail.
En revanche toujours pas de pushbullet. Snif.
(au fait, il faut que l'app soit ouverte ?)

@+
Datawolf
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Je bloque sur un envoi de notif / mail

Message par papoo »

c'est de ma faute j'ai mis des " " au lieu de { }
celui ci devrai mieux fonctionner

Code : Tout sélectionner

--[[
Tous les samedis matin, vérifie le niveau des piles
Et envoie un mail en deçà d'un certain seuil
--]]
local scriptName = 'test notif'
local scriptVersion = '1.0'

return {
    active = true,
	on = { timer =   {'at 21:52 on mon'}},
    	-- on = { timer =   {'every minute'}},
    logging =   {   level    =   domoticz.LOG_DEBUG,
                -- level    =   domoticz.LOG_INFO,             -- Seulement un niveau peut être actif; commenter les autres
                -- level    =   domoticz.LOG_ERROR,            -- Only one level can be active; comment others    
                -- level    =   domoticz.LOG_MODULE_EXEC_INFO,

                marker = scriptName..' v'..scriptVersion }, 
    
    
    
	execute = function(domoticz, timer)

      local lowBat = 90	-- seuil de l'alerte
      
      local subsystem = {domoticz.NSS_PUSHBULLET}
                    --[[ Systèmes de notification disponibles :
                        NSS_GOOGLE_CLOUD_MESSAGING NSS_HTTP NSS_KODI NSS_LOGITECH_MEDIASERVER NSS_NMA NSS_PROWL NSS_PUSHALOT NSS_PUSHBULLET NSS_PUSHOVER NSS_PUSHSAFER
                        Pour une notification sur plusieurs systèmes, séparez les systèmes par une virgule.
                        Exemple :{domoticz.NSS_TELEGRAM, domoticz.NSS_HTTP}
                    --]]

        domoticz.devices().forEach(function(device)
            batLevel = device.batteryLevel
            if batLevel ~= nil and batLevel < lowBat then -- uniquement pour les devices pour lesquels ça fait sens
                info = 'Pourcentage batterie '..device.name..' '..batLevel..''
                domoticz.log(info,domoticz.LOG_DEBUG)
                domoticz.notify("Notif Domoticz", info, domoticz.PRIORITY_HIGH, ' ', ' ', subsystem)                                          
                domoticz.email('Notif Domoticz', info, 'monadresse@gmail.com')
            end -- if nil
        end) -- forEach

	end -- execute function
}
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Datawolf
Messages : 273
Inscription : 03 avr. 2018, 13:51

Re: Je bloque sur un envoi de notif / mail

Message par Datawolf »

En effet, ça marche. Merci !
En revanche, je trouve la notification dans pushbullet mais je n'ai aucune notification ios (bien que autorisées dans paramétrage, et app ouverte). :(
Peut-être parce que c'est le même compte que celui de la clé d'API ?

EDIT:
pushbullet ne marche pas, pushover est payant, pushsafer marche mais il est payant, telegram ne marche pas, clickatell est payant...
Je vais finir par acheter une clé 3G... :?
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Je bloque sur un envoi de notif / mail

Message par papoo »

Pour moi
Pushbullet et Telegram fonctionnent correctement
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Datawolf
Messages : 273
Inscription : 03 avr. 2018, 13:51

Re: Je bloque sur un envoi de notif / mail

Message par Datawolf »

Je lis dans l'app les notifs envoyées à pushbullet, mais je n'ai aucune notification au sens ios.

J'ai galéré un peu avec Telegram pour obtenir la clé puis l'Id, mais j'y suis arrivé. Cependant, rien ne lui parvient.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Je bloque sur un envoi de notif / mail

Message par papoo »

Tu as créé un bot pour Telegram ?
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Datawolf
Messages : 273
Inscription : 03 avr. 2018, 13:51

Re: Je bloque sur un envoi de notif / mail

Message par Datawolf »

Oui, j'ai créé un bot et j'ai obtenu l'Id.
Mais ça ne marchait pas parce je n'avais pas envoyé de message au bot.
Maintenant que c'est fait j'ai bien les notifications dans Telegram, mais comme je laisse toujours le son de mon iphone à zéro, c'est silencieux.
Mes SMS, pourtant, font du bruit...
Répondre