Aller au contenu

Propres notifications à Fibaro Notification Centre


tinman

Messages recommandés

Bonjour,

 

vous pouvez utiliser le centre de notification pour afficher vos propres notifications,

 

notifications.png

 

avec une telle scène LUA

 

--[[
%% properties
%% events
%% globals
--]]

function doNotify(text, devid)
  api.post('/notificationCenter', {
        type = 'GenericDeviceNotification',
        canBeDeleted = true,
        -- priority can be
        -- alert -- red alert sign
        -- warning -- yellow warning sign
        -- info -- same as warning
        priority = 'alert',
        data = {
               deviceId = devid,
               text = text,
               title = text
        }
  })
end

doNotify('UPS power loss', 818)

 

818 est dans mon cas "Wallplug", il doit être valide module/deviceid

 

 

Amusez-vous bien :)

 

  • Upvote 6
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, Nico a dit :

Tinman, questio, du coup avec l'API y a t'il moyen de supprimer la notification qui reste pour les modules sans Template, car j'aimerai bien la virer du coup...

Non, ce sont des alertes et pas des notifications

 

 

Lien vers le commentaire
Partager sur d’autres sites

Pour supprimer une notification spécifique:

 

--[[
%% properties
%% events
%% globals
--]]

--possible values:
-- ZwaveReconfigurationNotification
-- DeviceReconfigurationNotification
-- SystemMigrationNotification
-- SceneOOMNotification
-- SceneToManyInstancesNotification
-- GenericDeviceNotification
-- FirmwareUpdateNotification
-- EmptyPinNotification
-- SatelConfigurationNotification


local notificationtype = 'GenericDeviceNotification'


function getNotificationId()
  local notifications = api.get('/notificationCenter')
  for _, notification in ipairs(notifications) do
    if notification.type == notificationtype then
      return notification.id
    end
  end
end

local id = getNotificationId()

if (id ~= nil) then
  fibaro:debug("Deleting notification with type: " .. notificationtype .. " and id: " .. id)
  api.delete('/notificationCenter/' .. id)
else
  fibaro:debug("there are no notification with type: " .. notificationtype)
end

 

  • Upvote 3
Lien vers le commentaire
Partager sur d’autres sites

bien ... mais vous pouvez mentir sur le template ... et l'alerte a disparu :

 

--[[
%% properties
%% events
%% globals
--]]


local devices = api.get('/devices')
for _, dev in ipairs(devices) do
   if (dev.properties.parametersTemplate == "0") then
     if  (dev.parentId > 3) then

        -- "execute order 66" (66 was once device with template)
        -- now it does not have any parameters, so we can use it
    	dev.properties.parametersTemplate = 66
        -- set to parent device
        api.put('/devices/' .. dev.parentId, dev)
        -- if other slaves exists, do it as well
        api.put('/devices/' .. dev.id, dev)
           
        -- "give fibaro a break" :)
        fibaro:sleep(1000)
      
        -- we have no temmplate, so select to not use any template!!!
        dev.properties.useTemplate = false
        api.put('/devices/' .. dev.parentId, dev)
        -- if other slaves exists, do it as well
        api.put('/devices/' .. dev.id, dev)
      
        -- "give fibaro a break" :)
        fibaro:sleep(1000)
      
        -- and hide parent device (when changing template parent shows up, bug?)
        dev.visible = false
        api.put('/devices/' .. dev.parentId, dev)
      
        fibaro:debug("changed module: " .. dev.name .. " with id: " .. dev.id)
     end
  end
end

Exécutez la scène d'une fois, aller sur les notifications et actualisez la page

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 1 mois après...
Tinman, question, is it possible to change the type of an existing module ?
Example to transform a humidity device into a rain device ?

Oui regarde la base sql
Par contre il faut bien faire attention à ne pas faire de bêtises

Envoyé de mon SM-G901F en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...