Aller au contenu

Lazer

Administrateur
  • Compteur de contenus

    25 335
  • Inscription

  • Dernière visite

Messages posté(e)s par Lazer


  1. 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)


  2. 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 :D ))

    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.


  3. 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.


  4. il y a 59 minutes, galaksy2001 a dit :

    Donc ma question c'est : comment je peux remplacer une image iso par un fichier vmdk ? Il faut bien que je change de méthode, je ne peux plus passer par mon lecteur cd/dvd virtuel ...

    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.


  5. 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....


  6. 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.


  7. 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"

     

     


  8. 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.


  9. 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

     

    • Like 1

  10. 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".

     

     


  11. 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 :lol: ) 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.

     

    • Thanks 1

  12. @jojo

    Bah premier plantage de ce type en 5 ans.... donc je n'ai pas trop à me plaindre.

    Mais effectivement, la série de bugs que j'ai eu cette semaine est étrange.

     

    @MAM78

    Ca y est, j'ai fini de jouer :D

    Après reconnexion de Assistant et Alexa, j'ai allumé/éteint une lumière avec chacun, c'est bon ça marche. Pas besoin de plus.

     

    il y a 40 minutes, Domodial a dit :

    Et les plugins sont souples et intelligents ou encore en beta ? 

    J'ai pas compris cette phrase ?

    On dirait une traduction automatique Google du russe vers le français :D.... c'est quoi un plugin "souple" ?

     

    De toute façon Google Home n'utilise aucun plugin, ça passe par le Fibaro ID.

×