-
Compteur de contenus
25 998 -
Inscription
-
Dernière visite
-
Jours gagnés
1 280
Tout ce qui a été posté par Lazer
-
Bah il y a quand même 5 personnes chez Free dédiées à la domotique, c'est quand même 10 fois plus que le stagiaire en alternance qui développe la HC2
-
Plugin Developer Plugin - Virtual Sensor
Lazer a répondu à un(e) sujet de Krikroff dans Plugins Developpeur
rectificatif, briquer, ou "to brick" an angliche, c'est littéralement transformer son appareil en brique, c'est à dire en support papier. Se dit d'un appareil qui est rendu totalement inutilisable suite à une mise à jour foireuse, comme ça arrive régulièrement avec les smartphones un peu trop bidouillés (même si ça peut arriver parfois par la faute du constructeur...) Dans ton cas, tu ne voulais évidemment pas dire briquer. Il n'y a même pas besoin de la rooter, puisqu'une manipulation via le navigateur Web suffit pour injecter manuellement le plugin perso. La manip est documentée sur le forum, mais je ne suis pas certain que ça soit toujours valable avec les firmwares récents.... auquel cas tu devras peut être downgrader ta box sur un vieux firmware < 4.500. Pour la suite, est-ce que ça fonctionnera toujours en passerelle sans que Fibaro n'impose la mise à jour de la passerelle, je n'en sais rien.... il n'y a qu'en testant que tu sauras.- 932 réponses
-
- Plugin
- Virtual Sensor
-
(et 3 en plus)
Étiqueté avec :
-
@MAM78 oui la V5.5.80 j'en parle à la page précédente Grosses nouveautés autour de la sécurité, mais je n'ai pas encore pris le temps de l'installer. Toujours des mises à jour à faire de partout.... @quadal OK mais alors là désolé, je n'ai aucune cam Hikvision avec PTZ, alors je ne me suis pas penché sur la question....
- 1 631 réponses
-
- topic unique
- surveillance
-
(et 2 en plus)
Étiqueté avec :
-
Article optimiste de Hervé : Les dessous de la Smart Home proposée par la Freebox Delta Pour son alarme, Free utilise un protocole propriétaire DomusRf qui sera peut être ouvert ultérieurement. La construction hardware de la box est évolutive, avec 3 antennes 433, 868, et 2,4 GHz, donc potentiellement ils peuvent ajouter n'importe quel protocole domotique plus tard. Et il parle aussi d'une API à venir pour contrôler les protocoles Somfy RTS et IO.... ça serait une exclu (si elle est locale)
-
Nvidia Shield TV - Appareil de streaming multimédia 4K HDR - Télécommande 149€
Lazer a répondu à un(e) sujet de mprinfo dans Sites internet
Ca ne me choque pas, elle était à 149€ pendant toute la semaine du Black Friday. Elle est vieille, c'est normal que son prix baisse.... elle est largement amortie pour Nvidia. PS : Je l'avais payé 159€ il y a 1 an au Black Friday, et c'était le prix le plus bas de l'époque. -
@MAM78ah ouais, c'est ULTRA vieux. C'est sûr, tu vas devoir passer par des étapes intermédiaires..... il va falloir que tu épluches les changelog... essaye de trouver de la v4, puis les premières v5.
- 1 631 réponses
-
- topic unique
- surveillance
-
(et 2 en plus)
Étiqueté avec :
-
SSD interne 2.5" Samsung 860 QVO (QLC) - 4 To à 479,90€ chez Rue du Commerce
Lazer a répondu à un(e) sujet de Lazer dans Sites internet
Clair, vu qu'ils ferment des usines.... -
Ca a l'air bon, sinon tu as plus récent, moi je tourne avec celui-là : IPC_G1_EN_STD_5.5.61_180718.zip EDIT : étudie les changelogs aussi, si ça se trouve tu es sur une très vieille version, et obligé de passer par des étapes intermédiaires
- 1 631 réponses
-
- topic unique
- surveillance
-
(et 2 en plus)
Étiqueté avec :
-
Ouais c'est casse pied à souder les rubans
-
SSD interne 2.5" Samsung 860 QVO (QLC) - 4 To à 479,90€ chez Rue du Commerce
Lazer a répondu à un(e) sujet de Lazer dans Sites internet
Oui, les QLC grand-public ont été annoncée l'été dernier, ça sort enfin depuis quelques jours. Avec la baisse annoncée des SSD dans les mois qui viennent, ça va être très intéressant. Comme dit, mon prochain PC n'aura pas de disque dur. Un SSD NVMe très haute performance pour l'OS, et un ou plusieurs SSD QLC SATA pour le stockage (idéal pour y mettre ma bibliothèque de photos ou de vidéos (mes propres vidéos cette fois-ci )) Ca n'a que des avantage, plus fiable, plus performant, plus petit, consomme et chauffe moins.... ça veut aussi dire que s'en est fini des grosses tours. Une carte mère Micro-ATX, et quelques emplacements 2"5, ça permet de se monter des PC ultra-performant pour la taille d'un tout petit bare-bone. Et dans le NAS, des très gros disques durs... en attendant encore quelques années avant d'avoir des SSD de plusieurs dizaines de To moins cher que les disques durs. -
SSD interne 2.5" Samsung 860 QVO (QLC) - 4 To à 479,90€ chez Rue du Commerce
Lazer a posté un sujet dans Sites internet
Alors celui là, li est beau, c'est celui que je veux me prendre pour le PC que je vais me monter au printemps (qui n'aura aucun disque dur).... les prix vont encore baisser d'ici là MZ-76Q4T0BW QLC (quad-level cell) => la démocratisation des SSD pour le stockage de masse, la mort programmée des disques durs ! -
Alors déjà ça ne fonctionne que sous Internet Explorer (un logiciel du siècle passé) parce qu'il utilise un composant ActiveX. Ensuite, est-tu certain d'avoir pris le fichier qui correspond à ton modèle de caméra ?
- 1 631 réponses
-
- topic unique
- surveillance
-
(et 2 en plus)
Étiqueté avec :
-
Bah je parles bien de reboot depuis le début (et c'est justement toi qui a insisté), peu importe la méthode. J'utilise juste celle dont je suis certain du fonctionnement, et qui est le plus rapide (1s pour faire une connexion SSH versus environ 1 minute pour ouvrir Chrome, ouvre la page HC2, se loguer, aller dans la panneau de config, et cliquer sur le lien)... je ne sus pas maso moi :p Et surtout, le SSH me permet de vérifier ce qui se passe, en l’occurrence rien de particulier, aucun message parlant dans les logs, et le process HCServer arrêté. A 18°C au réveil les yeux pas en face des trous, je n'ai pas cherché longtemps. Le script de backup ne fera pas de reboot en boucle, puisque si il déclenche un reboot, c'est une seule fois. (ce n'est pas un watchdog) Le risque, c'est de déclencher un reboot trop vite, alors qu'il est encore en train de démarrer les services. Pas sécurité, je vais mettre le reboot forcé en paramètre optionnel, avec un timeout bien plus long (genre 10 ou 15 minutes) Je ferai mon tuto après ça.
- 1 289 réponses
-
- topic unique
-
(et 1 en plus)
Étiqueté avec :
-
J'ai envie de dire, OUI, il suffit d'éditer les paramètres de la VM, de supprimer le CD, et d'ajouter le VMDK. Et la VM bootera dessus.
-
bah moi je n'utilise jamais le panneau de configuration (parce que justement, on ne sait pas trop ce qu'il fait), je me connecte en SSH, je tape reboot, j'attends, je me reconnecte, puis je fais uptime. Donc je te garantie que je fais bien des reboot par ailleurs, dans mon script de backup auto, (tuto à venir), après le backup, il fait un reboot optionnel. mais là il n'a pas atteint le reboot, car le script s'est arrêté avant... quand il s'est rendu compte que les services n'avaient pas redémarré. Du coup je me demande si ça vaut le coup d'adapter le script pour forcer le reboot même en cas de problème, mais j'ai peur que ça soit plus dangereux qu'autre chose....
- 1 289 réponses
-
- topic unique
-
(et 1 en plus)
Étiqueté avec :
-
Tu as toutes le réponses et les bons liens en première page
- 1 631 réponses
-
- topic unique
- surveillance
-
(et 2 en plus)
Étiqueté avec :
-
J'ai envie de répondre qu'il "suffit" de suivre ma méthode ci-dessus pour créer son vmdk. Ou l'un des nombreux tutos comme l'a expliqué mprinfo. C'est ta méthode à toi qui est étrange, je ne savais même pas qu'on pouvait booter Xpeno sur un CD virtuel !!
-
D'ailleurs, tiens puisque tu le dis, le backup fait un redémarrage des services (et pas de reboot), donc tu vois, c'est bien là que ça a planté.... !!!
- 1 289 réponses
-
- topic unique
-
(et 1 en plus)
Étiqueté avec :
-
Je te dis que j'ai fait un reboot un reboot, c'est un reboot, pas un redémarrage des services C'est marrant parce que tu essaye toujours de défendre Fibaro, mais là il n'y a rien à défendre. La 4.520 a introduit un gros bug sur mon install qui a cassé les notifications Push, ainsi que Alexa et Home. Bref, tout ce qui passe par le cloud Fibaro. Les reboots (les vrais donc) n'y ont rien fait. C'est le backup quelques jours plus tard (cette nuit), qui a fait planter totalement la box.... suite au reboot, tout est reparti comme avant. Je ne sais pas l'expliquer.... comme dit @Krikroff, il est probable qu'ils aient introduit des vérifications supplémentaires au boot qui ne s'effectuent qu'après un plantage de la box, donc les reboot que j’avais fait dans la semaine n'ont eu aucun effet. En tout cas, c'est la première fois qu'une mise à jour se passe mal sur ma box... et c'est vicieux, car elle fonctionnait en apparence, mais partiellement. La prochaine fois qu'un utilisateur a des problèmes suites à une mise à jour, au lieu de lui dire de vider son cache (c), je lui dirais de tenter un backup et de se préparer à rebooter manuellement derrière.
- 1 289 réponses
-
- topic unique
-
(et 1 en plus)
Étiqueté avec :
-
Heu je sais pas, en fait moi j'utilise une toute autre méthode pour créer mon bootloader : je le génère à partie d'une autre VM Linux. Je copie/colle directement mes notes, brut de fonderie, sans explication, mais c'est assez parlant quand on connait un peu Linux : ### ### [Tuto] Installer/Migrer DSM 5.2 à 6.1.x (Loader Jun) ### https://xpenology.com/forum/topic/7980-tuto-installermigrer-dsm-52-%C3%A0-61x-loader-jun/ ### 29/09/2017 ### ### ### Préparation Loader DSM 6.1 ### - Créer un disque virtuel de 50 Mo sur le datastore, provitionnement statique, et le mapper sur une VM Linux sur le bus IDE - Extraire le loader "synoboot.img" de Jun v1.02b pour ds3615 depuis le fichier "Loader_Jun_1.02b.zip", et le transférer sur la VM Linux : root@debian8:~# dmesg [177815.811031] vmw_pvscsi: msg type: 0x0 - MSG RING: 1/0 (5) [177815.811035] vmw_pvscsi: msg: device added at scsi0:1:0 [177815.814170] scsi 0:0:1:0: Direct-Access VMware Virtual disk 1.0 PQ: 0 ANSI: 2 [177815.815361] sd 0:0:1:0: Attached scsi generic sg2 type 0 [177815.815539] sd 0:0:1:0: [sdb] 102400 512-byte logical blocks: (52.4 MB/50.0 MiB) [177815.815586] sd 0:0:1:0: [sdb] Write Protect is off [177815.815588] sd 0:0:1:0: [sdb] Mode Sense: 31 00 00 00 [177815.815611] sd 0:0:1:0: [sdb] Cache data unavailable [177815.815613] sd 0:0:1:0: [sdb] Assuming drive cache: write through [177815.819209] sdb: unknown partition table [177815.819435] sd 0:0:1:0: [sdb] Attached SCSI disk root@debian8:~# fdisk -l /dev/sdb Disk /dev/sdb: 50 MiB, 52428800 bytes, 102400 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes root@debian8:~# ls -l synoboot.img -rw-r--r-- 1 root root 52428800 Jun 17 14:49 synoboot.img root@debian8:~# du -sm synoboot.img 50 synoboot.img root@debian8:~# dd if=synoboot.img of=/dev/sdb 102400+0 records in 102400+0 records out 52428800 bytes (52 MB) copied, 0.785446 s, 66.8 MB/s root@debian8:~# partprobe root@debian8:~# fdisk -l /dev/sdb Disk /dev/sdb: 50 MiB, 52428800 bytes, 102400 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 00000000-0000-0000-0000-000000000000 Device Start End Sectors Size Type /dev/sdb1 2048 32767 30720 15M EFI System /dev/sdb2 32768 94207 61440 30M Linux filesystem /dev/sdb3 94208 102366 8159 4M BIOS boot root@debian8:~# mount /dev/sdb1 /mnt root@debian8:~# ls -l /mnt/ total 4 drwxr-xr-x 3 root root 2048 Jun 17 14:47 EFI drwxr-xr-x 6 root root 2048 Jun 17 14:47 grub root@debian8:~# ls -l /mnt/grub/ total 52 drwxr-xr-x 2 root root 2048 Jun 17 14:47 fonts -rwxr-xr-x 1 root root 4765 Jun 17 14:47 grub.cfg -rwxr-xr-x 1 root root 1024 Jun 17 14:47 grubenv drwxr-xr-x 2 root root 20480 Jun 17 14:47 i386-pc drwxr-xr-x 2 root root 2048 Jun 17 14:47 locale drwxr-xr-x 2 root root 20480 Jun 17 14:47 x86_64-efi root@debian8:~# vi /mnt/grub/grub.cfg set vid=0x0000 set pid=0x00000 set sn=XXXXXXXXXXX set mac1=000000000000 set default='2' set timeout='3' root@debian8:~# umount /mnt root@debian8:~# shutdown -h now - Retirer le disque virtuel de la VM - Parcourir le datastore et télécharger le VMDK - Renommer le fichier : Synoboot-DS3615-Jun-1.02b.vmdk - Ouvrir une session SSH sur ESXi pour renommer le fichier : ~ # cd /vmfs/volumes/datastore/Xpenology/ /vmfs/volumes/00000000-00000000-0000-000000000000/Xpenology # ls -l total 77832 -rw------- 1 root root 52428800 Oct 1 14:12 Debian 8-flat.vmdk -rw------- 1 root root 461 Oct 1 14:06 Debian 8.vmdk -rw------- 1 root root 18153472 Jun 8 2016 XPEnoboot_DS3615xs_5.2-5644.5.vmdk -rw------- 1 root root 8684 Oct 1 14:00 Xpenology.nvram -rw-r--r-- 1 root root 0 Jun 8 2016 Xpenology.vmsd -rwxr-xr-x 1 root root 3336 Oct 1 14:05 Xpenology.vmx -rw-r--r-- 1 root root 367 Sep 30 19:26 Xpenology.vmxf -rw-r--r-- 1 root root 158736 Sep 29 16:56 vmware-280.log -rw-r--r-- 1 root root 498130 Sep 29 20:24 vmware-281.log -rw-r--r-- 1 root root 189875 Sep 29 20:32 vmware-282.log -rw-r--r-- 1 root root 281619 Sep 30 19:10 vmware-283.log -rw-r--r-- 1 root root 323906 Oct 1 01:53 vmware-284.log -rw-r--r-- 1 root root 282126 Oct 1 13:49 vmware-285.log /vmfs/volumes/00000000-00000000-0000-000000000000/Xpenology # vmkfstools -E Debian\ 8.vmdk Loader.vmdk /vmfs/volumes/00000000-00000000-0000-000000000000/Xpenology # ls -l total 77832 -rw------- 1 root root 52428800 Oct 1 14:12 Loader-flat.vmdk -rw------- 1 root root 459 Oct 1 14:15 Loader.vmdk -rw------- 1 root root 18153472 Jun 8 2016 XPEnoboot_DS3615xs_5.2-5644.5.vmdk -rw------- 1 root root 8684 Oct 1 14:00 Xpenology.nvram -rw-r--r-- 1 root root 0 Jun 8 2016 Xpenology.vmsd -rwxr-xr-x 1 root root 3336 Oct 1 14:05 Xpenology.vmx -rw-r--r-- 1 root root 367 Sep 30 19:26 Xpenology.vmxf -rw-r--r-- 1 root root 158736 Sep 29 16:56 vmware-280.log -rw-r--r-- 1 root root 498130 Sep 29 20:24 vmware-281.log -rw-r--r-- 1 root root 189875 Sep 29 20:32 vmware-282.log -rw-r--r-- 1 root root 281619 Sep 30 19:10 vmware-283.log -rw-r--r-- 1 root root 323906 Oct 1 01:53 vmware-284.log -rw-r--r-- 1 root root 282126 Oct 1 13:49 vmware-285.log -rw-r--r-- 1 root root 189596 Oct 1 14:00 vmware.log - Uploader le fichier sur le datastore et dans le répertoire de la VM Xpenology cible ### ### Démarrage DSM ### - Arrêter la VM DSM - Modifier les propriétés de la VM, retirer l ancien Synoboot, et mettre le nouveau à la place - Ouvrir la console - Démarrer la VM et choisir le menu de boot rapidement - Utiliser Syno Assistant ou se connecter directmenet à l IP du DSM, et faire la migration DSM 6.1 avec "DSM_DS3615xs_15152.pat" ou plus récent "DSM_DS3615xs_15284.pat" - Repasser en IP fixe - Réactiver les homes users si nécessaire - Faire la mise à jour des paquets - Faire la mise à jour de DSM dans le panneau de configuration - Si nécessaire : dump et import DB suite à migration MariaDB 5 vers MariaDB 10, et modifier fichier advancedsettings.xml de KODI pour utliser le port 3307 - Rebooter plusieurs fois pour s assurer que tout va bien - Fibaro HC2 : modifier Network Monitor ### ### Nettoyage ### - Supprimer l ancien disque virtuel "XPEnoboot_DS3615xs_5.2-5644.5.vmdk"
-
Il faut juste modifier les propriétés de ta VM Xpeno 5.2 pour lui dire d'utiliser le nouveau bootloader au format vmdk à la place de l'ancien. Au premier boot, il va détecter le changement, et tu aurais une interface Web pour faire la migration. Mais sinon, sans mettre à jour DSM, tu peux aussi faire une sauvegarde puis HyperBackup vers une cible en rsync, ce que supporte DSM 5.2, je crois qu'il faut juste l'activer dans la panneau de config.
-
Merci pour ton VD @ADN182 Je me suis permis de faire une v2 du bouton d'envoi de SMS, avec la possibilité d'utiliser aux choix les noms ou les ID des users et portables pour les notifications email+push en cas d'erreur, ainsi que quelques modifications cosmétiques : --------------------------------------------------------------------- -- Module permettant d'envoyer des SMS/MMS par l'intermédiaire de JPI -- Nom : JPI Gateway -- Author : ADN182 / Lazer -- Date : 18-02-2018 / 08-12-2018 -- History : v2.0 -- Thanks : All Members of www.domotique-fibaro.fr forum --------------------------------------------------------------------- -- Examples : -- Send a SMS to a specific contact Georges (must be present in Contacts) and to number 0606060606 -- fibaro:setGlobal("SMS", '{"Message":"Test", "SendTo":["0606060606", "Georges"]}') -- fibaro:setGlobal("SMS", '"Message":"Test", "SendTo":["0606060606", "Georges"]') -- fibaro:setGlobal("SMS", '"Message":"Test", "SendTo":["Anto"]') -- Send a SMS to All contact present in Contacts Variable -- fibaro:setGlobal("SMS", '{"Message":"Test"}') -- fibaro:setGlobal("SMS", '"Message":"Test"') -- fibaro:setGlobal("SMS", "Test") -- User configurable variables local Contacts = { {Name="Anto", number="0707070707"}, {Name="George", number="0606060606"} } local userID = { -- Email User ID if SMS not Sent 2, "Lazer", } local smartphoneID = { -- Push Smartphone ID if SMS not Sent 600, "Google Pixel 2 XL", } local retry_max = 6 -- Number of Retry if SMS sent failed local retry_sleep = 10 -- Sleep in second between each retry -- System variables local selfID = fibaro:getSelfId() local ip = fibaro:get(selfID, 'IPAddress') local port = fibaro:get(selfID, 'TCPPort') -- -- Message() function -- local function Message(color, text) if color and color ~= "" then fibaro:debug('<span style="color:'..color..';">'..(text or "<i>nil</i>")..'</span>') else fibaro:debug(text or "<i>nil</i>") end end -- -- updateLabel() function -- local function updateLabel(label, value) if fibaro:get(selfID, "ui."..label..".value") ~= value then if debug then Message("", "Update label : ui." .. label .. ".value => " .. (value or "")) end fibaro:call(selfID, "setProperty", "ui."..label..".value", value or "") end end -- -- Notification() function -- local function Notification(message, param) local message = message or "<vide>" Message("yellow", "Notification : "..message) if param then local notif for _, notif in ipairs(param) do if debug then Message("", notif) end -- Envoi Push if notif == "push" and type(smartphoneID) == "table" then local id for _, id in ipairs(smartphoneID) do if type(id) == "number" then if debug then Message("", "Send Push smartphone ID : " .. tostring(id)) end fibaro:call(id, "sendPush", message) elseif type(id) == "string" then local response = api.get("/iosDevices") if type(response) == "table" then local smartphone for _, smartphone in ipairs(response) do if smartphone.id and smartphone.name and smartphone.name == id then if debug then Message("", "Send Push smartphone ID : " .. tostring(smartphone.id)) end fibaro:call(smartphone.id, "sendPush", message) end end else Message("red", "Error : can't get smartphones API") end else Message("red", 'Error : invalid smartphoneID type "' .. type(id) .. '"') end end -- Envoi Email elseif notif == "email" and type(userID) == "table" then local id for _, id in ipairs(userID) do if type(id) == "number" then if debug then Message("", "Send Email user ID : " .. tostring(id)) end fibaro:call(id, "sendEmail", "JPI SMS Gateway", message) elseif type(id) == "string" then local response = api.get("/users") if type(response) == "table" then local user for _, user in ipairs(response) do if user.id and user.name and user.name == id then if debug then Message("", "Send Email user ID : " .. tostring(user.id)) end fibaro:call(user.id, "sendEmail", "JPI SMS Gateway", message) end end else Message("red", "Error : can't get users API") end else Message("red", 'Error : invalid userID type "' .. type(id) .. '"') end end end end else Message("orange", "Warning : no notification options given") end end -- -- Create Variable function -- local function createGlobalIfNotExists(varName, defaultValue) if varName and fibaro:getGlobal(varName) == nil then Message("blue", "Création de la variable "..varName) newVar = {} newVar.name = varName newVar.value = defaultValue or "" local HC2 = Net.FHttp("127.0.0.1", 11111) HC2:POST("/api/globalVariables", json.encode(newVar)) HC2 = nil end end -- -- URL Encode function -- local function urlencode(str) if str then str = string.gsub(str, "\n", "\r\n") str = string.gsub(str, "([^%w %-%_%.%~])", function (c) return string.format ("%%%02X", string.byte(c)) end) str = string.gsub(str, " ", "+") end return str end -- -- SendSMS() function -- local function SendSMS(message, number) updateLabel("LabelStatus", "...") updateLabel("LabelMessage", message) updateLabel("LabelDate", os.date("%d/%m/%Y %H:%M:%S")) local erreur = 0 local server = Net.FHttp(ip, tonumber(port)) local payload = "/?action=sendSms&number="..number.."&message="..urlencode(tostring(message or "empty")) for i=1, retry_max do response, status, errorCode = server:GET(payload) if tonumber(errorCode) == 0 and tonumber(status) == 200 then if (response ~= nil) then if tostring(response):match("OK - ") then Message("green", response) updateLabel("LabelStatus", "OK - SMS sent") fibaro:log("SMS envoyé") erreur = 0 break else Message("red", "Error : incorrect response") Message("red", "status="..status..", errorCode="..errorCode..", response="..response) erreur = erreur + 1 end else Message("red", "Error : empty response") Message("red", "status="..status..", errorCode="..errorCode) erreur = erreur + 1 end else Message("red", "Error !") Message("red;", "status="..status..", errorCode="..errorCode..", response="..(response or "<i>nil</i>")) erreur = erreur + 1 end fibaro:sleep(retry_sleep*1000) end -- Error management if erreur > 0 then updateLabel("LabelStatus", "Error - SMS not sent") fibaro:log("Error") Message("red", "Unable to send the message, SMS Gateway was unavailable !") Notification("Erreur lors de l'envoi du SMS : "..message, {"push", "email"}) end end -- -- Main -- Message("", os.date("%d/%m/%Y")) -- Create Variable if not exist createGlobalIfNotExists("SMS", "") -- Get SMS content local data = fibaro:getGlobalValue("SMS") -- Reset global variable value fibaro:setGlobal("SMS", "") -- Prepare data if not string.find(data, '"\s*:\s*"') then data = '{"Message":"'..data..'"}' end if string.find(data, "{") ~= 1 then data = '{'..data..'}' end local status, data = pcall(function() return json.decode(data) end) if data.Message ~= "" then if data.SendTo then local j for j = #data.SendTo, 1, -1 do local ContactnotFound = 1 Message("yellow", "Try to send the message '" ..data.Message.. "' to "..data.SendTo[j]) -- Envoi vers un numéro spécifique if data.SendTo[j]:match("%d%d%d%d%d%d%d%d%d%d") then Message("white", "Send message : "..data.Message) Message("white", "To number : "..data.SendTo[j]) SendSMS(data.Message, data.SendTo[j]) ContactnotFound = 0 else -- Envoi vers un contact spécifique présent dans la variable Contacts local i for i = #Contacts, 1, -1 do if Contacts[i].Name == data.SendTo[j] then Message("white", "Send message : "..data.Message) Message("white", "To : "..Contacts[i].Name) SendSMS(data.Message, Contacts[i].number) ContactnotFound = 0 end end end if ContactnotFound == 1 then Message("red", "Contact "..data.SendTo[j].." not found in Param !") Notification("Contact "..data.SendTo[j].." not found", {"push", "email"}) end end else -- Envoi vers l'ensemble des numéros local i for i = #Contacts, 1, -1 do Message("yellow", "Try to send the message '" ..data.Message.. "' to "..Contacts[i].Name) SendSMS(data.Message, Contacts[i].number) end end else Message("red", "Unable to send SMS, filed Message is empty") Notification("Unable to send SMS, filed Message is empty", {"push", "email"}) end Je n'ai pas touché au bouton d'envoi de MMS car je n'ai pas activé la data sur ma passerelle, je préfère ne pas exploser les petits 50 Mo de mon forfait Free Mobile 0/2€. Cependant, j'ai identifié un bug potentiel dans la détection des caméras en ligne 72 : if jsonTable[j].baseType == "com.fibaro.camera" then Mes caméras Hikvision utilisent un plugin, donc le baseType peut être différent, il faudrait modifier comme suit : if jsonTable[j].baseType == "com.fibaro.camera" or jsonTable[j].baseType == "com.fibaro.ipCamera" then
-
Non, t'as pas vraiment le choix, et c'est pour ça que je me refuse à utiliser le Google Home, car "OK Google" c'est tout sauf WAF. Bon tu peux dire "Hey Google" à la place, mais voilà, c'est aussi nul. Amazon ils sont plus futés, ils ont utilisés un prénom féminin "Alexa", même si tu peux dire "Amazon" à la place, donc pas mieux que "OK Google".
- 1 289 réponses
-
- topic unique
-
(et 1 en plus)
Étiqueté avec :
-
Oui il y a bien des plugins pour différents objets (thermostats, caméras, etc), mais : - ils n'existent pas à l'état BETA (même si ds fois on peut se demander ) officiellement ils sont tous stables - pour Google Home/Assistant et Amazon Echo/Alexa, il n'y a besoin d'aucun plugin, la communication se fait de Cloud à Cloud, donc en passant par l'accès distant de la HC2 grâce au Fibaro ID (*) (*) Quand ça fonctionne, ça fonctionne du premier coup, la reconnaissance des devices est automatique et rapide. On ne peut pas faire plus facile. Par contre quand ça déconne, comme moi hier (problème de mot de passe, puis bug de mon HC2), alors là c'est la galère, car il n'y a aucun code d'erreur, aucun log, rien du tout, pour comprendre le problème. C'est très frustrant.
- 1 289 réponses
-
- 1
-
-
- topic unique
-
(et 1 en plus)
Étiqueté avec :
-
1 point pour toi
- 1 289 réponses
-
- 1
-
-
- topic unique
-
(et 1 en plus)
Étiqueté avec :