Krikroff Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 Oui pas de problème si une api est mise à disposition (ou autre a voir ). Quel est le FAI ? Je suis sur l’intégration de la partie "passerelle personnalisée" et toutes les informations peuvent m'aider à rendre le service ouvert au plus grand nombre
Oliroch Posté(e) le 10 septembre 2014 Signaler Posté(e) le 10 septembre 2014 Je suis en Suisse, donc... le FIA est www.netplus.ch j'ai un lien qui me permet d'arriver sur une plate forme pour envoi de sms https://clients.netplus.ch/fr/espace_clients/index.php donc je pense arriver jusque la n'est pas un gros problème, c'est après que cela se complique pour moi !!! et ensuite créer son sms !
Krikroff Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 Hum...Je ne pense pas qu'il existe une API ici après pour en savoir plus il faudrait voir ce qu'il se passe sur le backoffice... c'est 5 sms maxi ?
Oliroch Posté(e) le 10 septembre 2014 Signaler Posté(e) le 10 septembre 2014 Yes juste ! si tu veux je te transmet MP et utilisateur et tu test ? sinon je vivrai sans... et je ferai des petit tests.... dans la mesure de mes moyens !!!
Krikroff Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 Pas de problème si ce n'est pas un problème pour toi ! je vais essayer de voir les informations avec juste une demande Merci pour ton aide...
Krikroff Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 La suite du retour .... Les échanges semblent passer en https (non supporté encore pas le HC2) mais parfois j'arrive à le contourner, donc à voir.... Dans tous les cas, si je passe la barrière https il n'y aura pas de problème pour attaquer le service lorsque j'aurais intégré le support "Passerelle personnalisée" 1
Nico Posté(e) le 10 septembre 2014 Signaler Posté(e) le 10 septembre 2014 D'ailleurs, toujours pas de https prévu sur la V4 ??? C'est fou cela tout de même...
Krikroff Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 C'est dans les tuyaux mais pas encore dans la bêta ... Si pas de https dans la V4 je vais être
fdp2 Posté(e) le 10 septembre 2014 Signaler Posté(e) le 10 septembre 2014 Bonjour Krikroff, Merci pour cette excellente idée!. Je viens de faire quelques tests. ça fonctionne partiellement, mais peut être ai-je merdé avec la variable globale, dont une partie du fonctionnement n'est pas clair pour moi. Lors de mon premier essai, la fonction notify que j'ai untégrée dans mon code plantait sur la ligne de code ci-dessous : params.order = #object + 1; Je n'ai pas noté le message d'erreur exact, mais l'erreur semblait venir du fait que la valeur de la variable object n'etait pas de type string... J'ai modifié le bouton Erase Pending afin qu'il mette une chaine vide dans la variable x_nc_object, soit : fibaro:setGlobal("x_nc_object",""); Cela fonctionne tant que je laisse ce code. Des que je remet un "0" ça ne fonctionne plus. Ce qui m'échappe avec la variable globale est qu'elle semblait contenir initiallement un entier, et qu'elle contient désormais un "string" quoi que je mette dedans. Bref, le device fonctionne tant que je laisse mon code modifié sur le bouton erase. Pour mes tests, je n'ai pas encore activé la scene qui déclenche la notif. Je fais ce déclenchement manuellement. Tout fonctionne à merveille si je déclenche la création d'une notification apres chaque création de message. Par contre, si je tente d'empiler 2 messages, cela ne fonctionne pas, j'obtiens le message suivant : [DEBUG] 17:21:48: Object not found, create new object and add notification [DEBUG] 17:21:48: Notification #1410362508 sent on 2014-09-10 17:21:48 [DEBUG] 17:21:49: Object found, new notification added [ERROR] 17:21:49: line 25: bad argument #1 to 'insert' (table expected, got string) L'erreur est sur la ligne ci-dessous : table.insert(object, params); En cas de besoin, voici l'ensemble de mon code : -- ID of the notification center device local NotifCenterID = 50 local PushAppToken = "XXXXX" --- Notify function (from Krikroff -> DO NOT Modify -- @ param params The object with parameters -- @ rev 1.0.1 local notify = function(params) if (params and type(params)=="table") then local data, object = fibaro:getGlobalValue("x_nc_object"), {}; if (not params.time) then params.time = os.time() end if (not params.order) then params.order = 1 end if (not params.status) then params.status = 0 end if (string.len(data) > 0) then local data = json.decode(data); if (data and type(object)=="table") then object = tostring(data); params.order = #object + 1; fibaro:debug("Object found, new notification added"); end else fibaro:debug("Object not found, create new object and add notification"); end table.insert(object, params); fibaro:setGlobal("x_nc_object", json.encode(object)); fibaro:debug(string.format("Notification #%s sent on %s", params.time, os.date('%Y-%m-%d %H:%M:%S', params.time))); end end -- Build message notif local AlarmStatus = fibaro:getGlobalValue("ProtexiomAlarmOnOff") if AlarmStatus ~= "000" then MyMessage = "Alarme mise en marche, zone " if string.sub(AlarmStatus, 1, 1) == "1" then MyMessage = MyMessage.."A" end if string.sub(AlarmStatus, 2, 2) == "1" then MyMessage = MyMessage.."B" end if string.sub(AlarmStatus, 3, 3) == "1" then MyMessage = MyMessage.."C" end else MyMessage = "Arret Alarme" end -- Send notif notify({ message = MyMessage, service = "pushover", settings = { token = PushAppToken, -- Application's API token (override default settings) --user = "", -- User key (override default settings) priority = "0", -- Message Priority: Normal (option) title = "Alarm on/off", -- Add a title (override default settings) timestamp = os.time() -- Specifying a Message Time (option) } })
fdp2 Posté(e) le 10 septembre 2014 Signaler Posté(e) le 10 septembre 2014 Pour ceux que cela peut interesser, voici une icone utilisable pour le device et les scenes.
Krikroff Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 Je viens de tester ton code effectivement il y a un truc mais pourtant moi ça fonctionne avec --- Notify function -- @ param params The object with parameters -- @ rev 1.0.1 local notify = function(params) if (params and type(params)=="table") then local data, object = fibaro:getGlobalValue("x_nc_object"), {}; if (not params.time) then params.time = os.time() end if (not params.order) then params.order = 1 end if (not params.status) then params.status = 0 end if (string.len(data) > 0) then local data = json.decode(data); if (data and type(object)=="table") then object = data; params.order = #object + 1; fibaro:debug("Object found, new notification added"); end else fibaro:debug("Object not found, create new object and add notification"); end table.insert(object, params); fibaro:setGlobal("x_nc_object", json.encode(object)); fibaro:debug(string.format("Notification #%s sent on %s", params.time, os.date('%Y-%m-%d %H:%M:%S', params.time))); end end peux-tu utiliser le code de la fonction "notify" ci-dessus pour voir ?
fdp2 Posté(e) le 10 septembre 2014 Signaler Posté(e) le 10 septembre 2014 Un petite option intéressante pourrait être la prise en compte d'un son spécifique sur pushover.https://pushover.net/api#soundsC'est vraiment du nice to have, mais ça peut être interessant par exemple pour utiliser un son spécifique sur un déclenchement alarme, et un son pour des messages moins important. 1
Krikroff Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 je vois pas d’où vient le object = tostring(data); le problème était ici... Pour Pushover tu peux déjà le faire, car toutes les options pushover peuvent être utiliser en natif dans mon code , exemple: notify({ message = "The door is open for a long time", service = "pushover", settings = { token = "xx", user = "xx", priority = "0", title = "Warning", sound = "spacealarm" } }); mais aussi url, url_title etc...
JM13 Posté(e) le 10 septembre 2014 Signaler Posté(e) le 10 septembre 2014 J'avais donc mal compris ta demande JM13...désolé ;-) C'est vrai que de basculer l'ensemble des notifs en cas de pb Adsl serait un plus... Envoyé de mon C6603 en utilisant Tapatalk En général, je ne suis pas hors-sujet ...je suis difficile à comprendre ... et même pour moi 1
fdp2 Posté(e) le 10 septembre 2014 Signaler Posté(e) le 10 septembre 2014 Argh!! Désolé, c'est moi qui est ajouté ça pour faire une test lorsque j'ai eu mon problème de variable globale! Coorection faite, je te confirme que tout fonctionne à merveille. Excellent pour la prise en compte des options Pushover!!! Au top ton nouveau module! . Merci encore!
Krikroff Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 Super que cela fonctionne à merveille , il faut pas hésiter à torturer le module ... Le support PushingBox et Prowl est prêt pour la nouvelle version, j'ai besoin de testeurs
Shyrka973 Posté(e) le 10 septembre 2014 Signaler Posté(e) le 10 septembre 2014 Merci Krikroff pour ce développement. Pourrais-tu intégrer à ton développement, l'accès aux modules comme Karotz, Squeezebox et autres pour les notifications TTS de manière générale? La plupart de ces modules récupère la phrase à prononcer dans une variable globale lors que l'on appuie sur son bouton TTS. Il faudrait comme info: la variable globale, l'ID du module et l'ID du bouton du dit module. Ce n'est pas des notifications par push mais c'est aussi une forme de notification. Qu'en penses tu ?
Krikroff Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 Bonsoir Shyrka, Pour moi le TTS c'est bien de la notification et je te rassure j'ai envisagé l’intégration du TTS dans le projet (SONOS oblige ) mais peut-être pas de la manière que tu exposes (pour des considérations techniques), mais nous en reparlerons lorsque le projet sera plus avancé. Merci pour tes bonnes idées
Krikroff Posté(e) le 10 septembre 2014 Auteur Signaler Posté(e) le 10 septembre 2014 Si je devais encore élargir le projet, toi qui connais bien PLEX (il me semble) est-il possible d'envoyer des notifications comme sur XBMC ?
Shyrka973 Posté(e) le 10 septembre 2014 Signaler Posté(e) le 10 septembre 2014 C'est vrai que ma méthode est assez basique mais elle s'adapte facilement à tous les modules avec bouton TTS. J'attends que voir ton intégration à ton plugin SONOS Player pour l'adapter à mes plugins Karotz et Squeezebox. Pour Plex, je vais me renseigner mais je n'ai jamais encore vu de notification à l'écran pendant le visionnage d'un film.
Shyrka973 Posté(e) le 11 septembre 2014 Signaler Posté(e) le 11 septembre 2014 J'ai une erreur dans la fonction "notify" dans une scène: [DEBUG] 23:33:59: Object not found, create new object and add notification [ERROR] 23:33:59: line 96: attempt to index global 'json' (a nil value) La ligne 96 correspond à : fibaro:setGlobal("x_nc_object", json.encode(object)); J'appelle la fonction ainsi: notify({ message = msg, service = "hc2", settings = { title = "Warning", type = "push" } }); msg est un string. Je ne comprends pas cette erreur. Un problème avec la librairie json ?
fdp2 Posté(e) le 11 septembre 2014 Signaler Posté(e) le 11 septembre 2014 La librairie json est dispo uniquement dans les virtual devices, pas dans les scènes. J'ai contourne le problème en mettant le code de ma notif dans un nouveau bouton du virtual device de krikroff. J'appelle ensuite ce bouton depuis la scene.
Krikroff Posté(e) le 11 septembre 2014 Auteur Signaler Posté(e) le 11 septembre 2014 @Shyrka, pour le TTS ce n'est pas un problème de méthode basique mais plus une contrainte technique: le VD cible doit être capable de gérer des demandes concurrentes et les files d'attente. Mais il y a toujours une solution Pour le problème json, c'est une question de timing: la librairie json est maintenant supportée dans les scènes dans la V4 mais j'ai peut être une solution en attendant la V4 stable, àvoir si j'ai le temps pour cela. Envoyé de mon iPhone àl'aide de Tapatalk
Shyrka973 Posté(e) le 11 septembre 2014 Signaler Posté(e) le 11 septembre 2014 @fdp2 @Krikroff Merci. J'avais oublié cette contrainte. Vivement la v4 pour la lever. Dans le même genre, il y a aussi le fhttp qui est supporté dans les scène àpartir de la V4. Il semblerait que le plugin Netatmo soit disponible avec la V4.017. Cela implique que le https soit aussi disponible ? @Krikroff Ce serait un vrai plus pour les plugins TTS. Je suis encore plus impatient de voir comment tu implante cela. Envoyé de mon iPad àl'aide de Tapatalk
Krikroff Posté(e) le 11 septembre 2014 Auteur Signaler Posté(e) le 11 septembre 2014 Oui Netatmo est disponible mais les valeurs restent à 0 ... peut-être parce que justement https n'est pas encore implémenté correctement ... Ce n'est plus fhttp, mais oui il y a un client http dans les scènes maintenant: net.HTTPClient et beaucoup d 'autres choses (json, timer etc..)
Messages recommandés