pepite Posté(e) le 10 février 2017 Signaler Posté(e) le 10 février 2017 Salut tout le monde, Alors là, je ne sais pas par où commencer, enfin surtout finir ;-) Je n'ai plus de PUSH, mais les Interactive Push fonctionnent ;-). Mystère mystère ;-) et j'avoue que je ne sais plus où chercher ;-) ID smartphone ok, scene test juste avec un sendpush : KO scene test interactive push : OK reboot :ok Desinstall/reinstall appli : OK Check All IDs du master steven : ok A vos idées !! Merci
mprinfo Posté(e) le 10 février 2017 Signaler Posté(e) le 10 février 2017 Supprimé ton tel dans l'application Puis connecte toi via l'application de telJ'espère pour toi que tu gères l id de ton tel avec une VG.Envoyé de mon SM-G901F en utilisant Tapatalk
Nico Posté(e) le 10 février 2017 Signaler Posté(e) le 10 février 2017 ID , etc quoi ??? Pas besoin de ça en mode bloc
jojo Posté(e) le 10 février 2017 Signaler Posté(e) le 10 février 2017 as-tu esssayé ceci ? http://forum-lifedomus.com/showthread.php?tid=3521 Ca fonctionne nikel 1
i-magin Posté(e) le 10 février 2017 Signaler Posté(e) le 10 février 2017 (modifié) Intéressante ton info @jojo Il faudrait que je demande au rédacteur du tuto (il me semble avoir déjà vu son nom quelque part ? ), si la possibilité de choisir différents sons de notifs est disponible aussi sous iOS (car il existe un plugin pour ****auto-censuré *** ) Modifié le 10 février 2017 par i-magin
pepite Posté(e) le 11 février 2017 Auteur Signaler Posté(e) le 11 février 2017 Justement je ne voulais pas en arriver là. Je l'ai fait pour le WAF, et depuis impossible de reconnecter l appli depuis. Rien a faire. Pourtant le tel est de nouveau reconnu. BizarreJavoue que je tourne en rond la..et ca cest plus important que mes pudh hihi. Non je ne gere pas mon id de tel, vais peut etre m'y mettre mais avec un label.lolMa chance 90% de mes push viennent de GEA ms j'utilise plutôt les notifications sms pour ce qui est important. J utilisais pushbullet ms je n'y arrive plus et n'arrive pas a debugger alors que ca fo'ctionne ss jeedom.hihiJojo, puhover fo'ctionne aussi ss hc hihiOn vous a repéré les 2 sur ce forum lol 1
jojo Posté(e) le 11 février 2017 Signaler Posté(e) le 11 février 2017 @pepite, @moicphil a également fait un tuto pushover pour Fibaro ici
i-magin Posté(e) le 11 février 2017 Signaler Posté(e) le 11 février 2017 @jojo ... pas de lien actif dans ton post 1
jojo Posté(e) le 11 février 2017 Signaler Posté(e) le 11 février 2017 normal, je suis un gros fainéant. Il suffit de faire une recher sur pushover surce forum. Voici donc le lien 1
Sakkhho Posté(e) le 11 février 2017 Signaler Posté(e) le 11 février 2017 Il y a 20 heures, mprinfo a dit : Supprimé ton tel dans l'application Puis connecte toi via l'application de tel J'espère pour toi que tu gères l id de ton tel avec une VG. Envoyé de mon SM-G901F en utilisant Tapatalk effectivement, c'est une bonne idée, ca éviter de modifier toutes ces scenes. d'ailleurs la scene de @Steven ne récupère pas ces ID, une amélioration?
pepite Posté(e) le 11 février 2017 Auteur Signaler Posté(e) le 11 février 2017 @sakkhho : si la scene de Steven recupere tout ;-) Bon, toujours pas mieux pour l'instant ;-) ..rien a faire pour le tel du WAF, je dois rater qqch mais je ne vois pas quoi
Nico Posté(e) le 12 février 2017 Signaler Posté(e) le 12 février 2017 Pepite, des news, c'est revenu ?
pepite Posté(e) le 12 février 2017 Auteur Signaler Posté(e) le 12 février 2017 Rien du tout ;-) mais je n'ai pas rejoue avec auj, dans les combles en train de poser des plaques de polyu ;-) Vais retenter, c'est quand même bizarre comme comportement ;-) Vais deja essayer de reconnecter le WAF avant de supprimer mon tel et ne plus pouvoir me connecter ;-) Vais peut-etre renlever les VDs testés jeudi mais je ne vois vraiment pas le rapport
Nico Posté(e) le 12 février 2017 Signaler Posté(e) le 12 février 2017 Effectivement, je ne vois pas non plus, mais tente tout de même.
mprinfo Posté(e) le 12 février 2017 Signaler Posté(e) le 12 février 2017 Moi je vois passe sur jeedom ou LD mdr....Envoyé de mon SM-G901F en utilisant Tapatalk
pepite Posté(e) le 12 février 2017 Auteur Signaler Posté(e) le 12 février 2017 Bon ben coupable trouvé - Désinstallation des 2 VDs installés Jeudi soir :push OK - Ajout VD Vacances scolaire (origine @Steven) modifié de @MAM78 : push KO - Suppression VD Vacances Scolaire : push OK - Ajout Détection Présence (origine @sebcbien) modifé de @mprinfo : pusk OK Conclusion : coupable est le VD Vacances Scolaire ;-) Mais j'ai relu le code avec mes maigres connaissances mais je ne vois pas ce qui cloche. J'ai donc mis le nez dans tous les Vds et les Scenes et merci @mprinfo, j'ai mis les IDs dans ....un LABEL local TelPepite = fibaro:getValue(72, "ui.TelPepite.value") local TelWaf = fibaro:getValue(72, "ui.TelWaf.value") 1
mprinfo Posté(e) le 12 février 2017 Signaler Posté(e) le 12 février 2017 Tu peux mettre le code du vd vacances pour voir STPMerciEnvoyé de mon SM-G901F en utilisant Tapatalk
pepite Posté(e) le 12 février 2017 Auteur Signaler Posté(e) le 12 février 2017 oui, voilà il est aussi sur le post de @MAM78 -- -------------------------------------------------------------------------------------------------------------- -- Check that one and only one instance is in memory -- -------------------------------------------------------------------------------------------------------------- if ((not Vacances) or (Vacances.errors >= 5)) then Vacances = { departement = "77", varglobal = "VacScolaire", varglobalJ = "VacScolaireJ", varglobalJ1 = "VacScolaireJ1", errors = 0 } -- -------------------------------------------------------------------------------------------------------------- -- URL -- -------------------------------------------------------------------------------------------------------------- Vacances.url = "telechargement.index-education.com" -- -------------------------------------------------------------------------------------------------------------- -- Optenir le fichier XML -- -------------------------------------------------------------------------------------------------------------- Vacances.getXml = function() local URL = Net.FHttp(Vacances.url) response, status, errorCode = URL:GET("/vacances.xml") return Vacances.iif(response ~= nil, Vacances.newParser().ParseXmlText(response), "") end -- -------------------------------------------------------------------------------------------------------------- -- Rerecher la zone par rapport au numéro de département -- -------------------------------------------------------------------------------------------------------------- Vacances.getZone = function(xmlTable) if (xmlTable) then if (not xmlTable.root) then Vacances.errors = Vacances.errors+1 return "" end local academies = xmlTable.root.academies for i in pairs(academies:children()) do local academie = academies.academie[i] local zone = academie["@zone"] local nom = academie["@libelle"] for j in pairs(academie:children()) do local dep = academie.departement[j] if (type(dep) ~= "nil") then fibaro:call(fibaro:getSelfId(), "setProperty", "ui.LabelZone.value", "["..zone.."] " .. nom) if (academie.departement[j]["@numero"] == Vacances.departement) then return zone, nom end else if (academie.departement["@numero"] == Vacances.departement) then return zone, nom end end end end end return "" end -- -------------------------------------------------------------------------------------------------------------- -- Rechercher le libellé d'un congé -- -------------------------------------------------------------------------------------------------------------- Vacances.getLibelle = function(xmlTable, num) if (xmlTable) then if (not xmlTable.root) then Vacances.errors = Vacances.errors+1 return "" end local libelles = xmlTable.root.libelles for i in pairs(libelles:children()) do if (libelles.libelle[i]["@id"] == num) then local l = libelles.libelle[i]:value() for k = 1, string.len(l)-1 do local c = string.sub(l, k, k) local d = string.byte(c) fibaro:debug(c .. " " .. d) end return libelles.libelle[i]:value():gsub(string.char(235), "ë"):gsub(string.char(233), "é") end end end return "" end -- -------------------------------------------------------------------------------------------------------------- -- Obtenir les dates futures des vacances par rapport à la zone -- -------------------------------------------------------------------------------------------------------------- Vacances.getDatesFuture = function(xmlTable, zone, date) if (xmlTable) then if (not xmlTable.root) then Vacances.errors = Vacances.errors+1 return "" end local calendrier = xmlTable.root.calendrier local index = 1 local envacance = false for i in pairs(calendrier:children()) do local zonecal = calendrier.zone[i] if (zonecal["@libelle"] == zone) then --return libelles.libelle[i]:value() for j in pairs(zonecal:children()) do local datedeb = Vacances.getDateFormat(zonecal.vacances[j]["@debut"]) local datefin = Vacances.getDateFormat(zonecal.vacances[j]["@fin"]) fibaro:debug("Index"..index.." Deb:"..os.date("%d.%m.%Y", datedeb).." Fin:"..os.date("%d.%m.%Y", datefin).." Date:"..os.date("%d.%m.%Y", os.time())) if (os.time() > datedeb and os.time() < datefin) then local msg = os.date("%d.%m.%Y", datedeb) .. " - " .. os.date("%d.%m.%Y", datefin) .. " | " ..Vacances.getLibelle(xmlTable, zonecal.vacances[j]["@libelle"]) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..index..".value", msg) fibaro:debug("En vacances") fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label0.value", "En vacances") fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label10.value", "OUI") envacance = true --fibaro:setGlobal(Vacances.varglobal, "0") fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..Vacances.varglobal..".value", "0") --fibaro:setGlobal(Vacances.varglobalJ, "OUI") fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..Vacances.varglobalJ..".value", "OUI") index = index + 1 end if (os.time()+24*60*60 > datedeb and os.time()+24*60*60 < datefin) then fibaro:debug("En vacances J+1") fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label11.value", "OUI") --fibaro:setGlobal(Vacances.varglobalJ1, "OUI") fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..Vacances.varglobalJ1..".value", "OUI") end if (datedeb > os.time()) then local msg = os.date("%d.%m.%Y", datedeb) .. " - " .. os.date("%d.%m.%Y", datefin) .. " | " ..Vacances.getLibelle(xmlTable, zonecal.vacances[j]["@libelle"]) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..index..".value", msg) if (not envacance and index == 1) then fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label0.value", "Reste " .. Vacances.delai(datedeb) .. " jours" ) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label10.value", "NON") --fibaro:setGlobal(Vacances.varglobal, Vacances.delai(datedeb).."") fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..Vacances.varglobal..".value", Vacances.delai(datedeb).."") --fibaro:setGlobal(Vacances.varglobalJ, "NON") fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..Vacances.varglobalJ..".value", "NON") fibaro:debug("Pas en vacances aujourd'hui") if (datedeb > os.time()+24*60*60) then fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label11.value", "NON") --fibaro:setGlobal(Vacances.varglobalJ1, "NON") fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..Vacances.varglobalJ1..".value", "NON") fibaro:debug("Pas en vacances demain") end end index = index + 1 end end end end end end -- -------------------------------------------------------------------------------------------------------------- -- Transforme une date en string en date exploitable -- -------------------------------------------------------------------------------------------------------------- Vacances.getDateFormat = function(sdate) year,month,day = sdate:match("(%d+).(%d+).(%d+)") return os.time({day=day,month=month,year=year,hour=0,min=0,sec=0}) end -- -------------------------------------------------------------------------------------------------------------- -- Calcule le nombre de jours entre 2 dates -- -------------------------------------------------------------------------------------------------------------- Vacances.delai = function(dated) diff = os.difftime(dated, os.time()) return math.floor(diff / (60*60*24)) end -- ------------------------------------------------------------------------------------------------------------- -- Test the condition and return true or false param depending of the result -- param : condition (condition to test) -- iftrue (result to return of condition if true) -- iftfalse (result to return of condition if false) -- ------------------------------------------------------------------------------------------------------------- Vacances.iif = function(condition, iftrue, iffalse) if (condition) then return iftrue end return iffalse end -- ------------------------------------------------------------------------------------------------------------- -- This is a modified version of Corona-XML-Module by Jonathan Beebe which in turn -- is based on Alexander Makeev's Lua-only XML parser . -- see https://github.com/Cluain/Lua-Simple-XML-Parser -- ------------------------------------------------------------------------------------------------------------- Vacances.newParser = function() parseXml = {} parseXml.FromXmlString = function(value) value = string.gsub(value, "&#x([%x]+)%;", function(h) return string.char(tonumber(h, 16)) end); value = string.gsub(value, "&#([0-9]+)%;", function(h) return string.char(tonumber(h, 10)) end); value = string.gsub(value, "\"", "\""); value = string.gsub(value, "'", "'"); value = string.gsub(value, ">", ">"); value = string.gsub(value, "<", "<"); value = string.gsub(value, "&", "&"); return value; end parseXml.ParseArgs = function(node, s) string.gsub(s, "(%w+)=([\"'])(.-)%2", function(w, _, a) node:addProperty(w, parseXml.FromXmlString(a)) end) end parseXml.ParseXmlText = function(xmlText) local stack = {} local top = parseXml.newNode() table.insert(stack, top) local ni, c, label, xarg, empty local i, j = 1, 1 while true do ni, j, c, label, xarg, empty = string.find(xmlText, "<(%/?)([%w_:]+)(.-)(%/?)>", i) if not ni then break end local text = string.sub(xmlText, i, ni - 1); if not string.find(text, "^%s*$") then local lVal = (top:value() or "") .. parseXml.FromXmlString(text) stack[#stack]:setValue(lVal) end if empty == "/" then -- empty element tag local lNode = parseXml.newNode(label) parseXml.ParseArgs(lNode, xarg) top:addChild(lNode) elseif c == "" then -- start tag local lNode = parseXml.newNode(label) parseXml.ParseArgs(lNode, xarg) table.insert(stack, lNode) top = lNode else -- end tag local toclose = table.remove(stack) -- remove top top = stack[#stack] if #stack < 1 then error("XmlParser: nothing to close with " .. label) end if toclose:name() ~= label then error("XmlParser: trying to close " .. toclose.name .. " with " .. label) end top:addChild(toclose) end i = j + 1 end local text = string.sub(xmlText, i); if #stack > 1 then error("XmlParser: unclosed " .. stack[#stack]:name()) end return top end parseXml.newNode = function(name) local node = {} node.___value = nil node.___name = name node.___children = {} node.___props = {} function node:value() return self.___value end function node:setValue(val) self.___value = val end function node:name() return self.___name end function node:setName(name) self.___name = name end function node:children() return self.___children end function node:numChildren() return #self.___children end function node:addChild(child) if self[child:name()] ~= nil then if type(self[child:name()].name) == "function" then local tempTable = {} table.insert(tempTable, self[child:name()]) self[child:name()] = tempTable end table.insert(self[child:name()], child) else self[child:name()] = child end table.insert(self.___children, child) end function node:properties() return self.___props end function node:numProperties() return #self.___props end function node:addProperty(name, value) local lName = "@" .. name if self[lName] ~= nil then if type(self[lName]) == "string" then local tempTable = {} table.insert(tempTable, self[lName]) self[lName] = tempTable end table.insert(self[lName], value) else self[lName] = value end table.insert(self.___props, { name = name, value = self[name] }) end return node end return parseXml; end end -- ------------------------------------------------------------------------------------------------------------- -- RUN -- ------------------------------------------------------------------------------------------------------------- fibaro:debug("Lecture du fichier distant ...") local xmlTable = Vacances.getXml() if (Vacances.errors > 0) then time = "Erreur : " .. Vacances.errors fibaro:debug(time) else fibaro:debug("Recherche de la zone pour le département : " .. Vacances.departement .. " ...") local zone, nom = Vacances.getZone(xmlTable) fibaro:debug(Vacances.departement .. " ==> [" .. zone .. "] " .. nom) Vacances.getDatesFuture(xmlTable, zone, os.time()) end
MAM78 Posté(e) le 12 février 2017 Signaler Posté(e) le 12 février 2017 (modifié) Hello @pepite Désolé que le VD congés scolaire soit à l'origine de ton problème. Mais chez moi aucuns problèmes de Push notamment avec celui avec questions. Je viens de faire le test ! Modifié le 12 février 2017 par MAM78
MAM78 Posté(e) le 12 février 2017 Signaler Posté(e) le 12 février 2017 @pepite Si tu le souhaites tu peux me donner un exemple de push que tu utilises pour que je fasse l'essai chez moi, pour voir si j'ai le me PB que toi ?
MAM78 Posté(e) le 12 février 2017 Signaler Posté(e) le 12 février 2017 Je viens de faire également le test sans utiliser l'API qui permet de poser des questions a partir de la commande suivante : fibaro:call(12, "sendPush", os.date("Le %d/%m/%y a %HH%M : ", heureVariable).."Test sans PopUp (questions)") Et pas de problème non-plus !!! Pourrais-tu nous donner un exemple de notification que tu utilises et qui ne fonctionne pas ?
pepite Posté(e) le 13 février 2017 Auteur Signaler Posté(e) le 13 février 2017 Bonjour messieurs, Très simple, n'importe quel push ne fonctionne pas. Pour mes tests j'ai juste fait un simple sendPush fibaro:call(id, "sendPush", "test") Tu n'as pas à t'excuser, tu n'y es pour rien du tout, c'est ma box qui ne veut pas de ton code modifié ;-) et je serais incapable d'écrire ce que vous partagez, je ne vais pas me plaindre quand même. Faudrait que je tente avec la version non modifiée tiens. Et le plus dingue c'est le comportement différent sur les 2 tels, WAF et le mien : - WAF : plus aucune connexion possible à l'appli - le mien : connexion OK, mais plus de push alors que les Interactive Push : OK, et les Popup OK aussi ;-) Bizarre bizarre vous avez dit bizarre ;-)
jojo Posté(e) le 13 février 2017 Signaler Posté(e) le 13 février 2017 on n'a pas dit bizarre, on a dit Fibaro lol 1
Did Posté(e) le 13 février 2017 Signaler Posté(e) le 13 février 2017 Ce n'est pourtant pas un anagramme. 2
Messages recommandés