Did Posté(e) le 20 novembre 2020 Signaler Posté(e) le 20 novembre 2020 Bonjour tout le monde, J'ai installé mon module Robonect sur l'Automower, tout fonctionne parfaitement sans les remontées vers la HC2, mais après pas mal de recherche, je suis enfin tombé sur un VD pour HC2 concernant la carte Robonect (sur leur site d'ailleurs, je ne l'avais pas vu la première fois). https://robonect.de/viewtopic.php?f=12&t=287 Le problème est qu'il est en allemand, j'ai commencé à traduire quelques étiquettes, entrer mes identifiants et créer les trois variables requises, il fonctionne mais quelques petits soucis subsistent, même en rentrant les numéros des icônes, celle du VD reste invariablement sur la OFFline (même quand elle tond). Je n'ai pas non plus encore testé les boutons de mode, juste le "Statut". Voici la mainloop (je vous livre celle du VD d'origine pour ne pas laisser mes identifiants): fibaro:debug('Starte PING') local IP = '192.168.xx.xx' local PORT = 80 local versuche = 3 local iconOFFLINE = "1009" -- ANPASSEN; Gerät ist offline local iconONLINE = "1001" -- ANPASSEN; Gerät ist online local iconCHECK = "1003" -- ANPASSEN; Gerät wird angepingt local function _ping(retry) fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", iconCHECK) retry = retry or 0 local tcpSocket = Net.FTcpSocket(IP, PORT) tcpSocket:setReadTimeout(250) fibaro:debug('Suche..., versuche #' .. retry .. ' bitte warten...') fibaro:sleep(250) local bytes, errorCode = tcpSocket:write('ping') if errorCode == 0 then return true else if retry < versuche then fibaro:debug('Nicht gefunden, erneut versuchen, bitte warten...') fibaro:sleep(1000); return _ping(retry + 1) end return false end end local f, result = pcall(_ping) if (f) then if (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Aktiv" ) then fibaro:debug(IP.. ':' .. PORT .. ' wurde gefunden, der Timer Status des Automower ist Aktiv') fibaro:debug("Status wird abgefragt"); fibaro:call(175, "pressButton", "6"); fibaro:debug("Status wurde abgefragt, warte für 2 Minuten"); fibaro:call(175, "setProperty", "currentIcon", iconONLINE); fibaro:sleep(120000) elseif (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Standby" ) then fibaro:debug(IP.. ':' .. PORT .. ' wurde gefunden, der Timer Status des Automower ist Standby') fibaro:debug("Status wird abgefragt"); fibaro:call(175, "pressButton", "6"); fibaro:debug("Status wurde abgefragt, warte für 30 Minuten"); fibaro:call(175, "setProperty", "currentIcon", iconONLINE); fibaro:sleep(1800000) elseif (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Deaktiviert" ) then fibaro:debug(IP.. ':' .. PORT .. ' wurde gefunden, der Timer Status des Automower ist Deaktiviert') fibaro:debug("Status wird abgefragt"); fibaro:call(175, "pressButton", "6"); fibaro:debug("Status wurde abgefragt, warte für 30 Minuten"); fibaro:call(175, "setProperty", "currentIcon", iconONLINE); fibaro:sleep(1800000) elseif (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Manuell" ) then fibaro:debug(IP.. ':' .. PORT .. ' wurde gefunden, der Timer Status des Automower ist Manuell') fibaro:debug("Status wird abgefragt"); fibaro:call(175, "pressButton", "6"); fibaro:debug("Status wurde abgefragt, warte für 10 Minuten"); fibaro:call(175, "setProperty", "currentIcon", iconONLINE); fibaro:sleep(600000) else fibaro:debug(IP.. ':' .. PORT .. ' wurde nicht gefunden.') fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", iconOFFLINE) fibaro:call(175, "setProperty", "currentIcon", iconOFFLINE); fibaro:debug("Status des Automower wird aufgrund mangelnder Erreichbarkeit nicht abgefragt") fibaro:debug("Status wurde nicht abgefragt, warte für 10 Minuten)"); fibaro:sleep(600000) end else fibaro:debug('Error: ' .. f) end Et le bouton n°6 "Status" (les autres n'ont que quelques lignes): -- Setze Verbindungsdaten -- Benutzername Passwort fuer MOWER mowerUser = "MOWER" mowerPW = "PWD" -- hole ip adresse aus virtuellem modul selfId = fibaro:getSelfId() mowerIP = fibaro:get(selfId, "IPAddress") mowerPort = fibaro:get(selfId, "TCPPort") -- setze variable MOWER aus IP und Logindaten MOWER = Net.FHttp(mowerIP) MOWER:setBasicAuthentication(mowerUser, mowerPW) -- ------------------------------------------------- -- ------------------------------------------------- -- geting info about specific device response = MOWER:GET("/json?cmd=status") -- decoding json string to table extractedjson = json.decode(response) -- "status/battery": "Battery Status" -- "status/duration": "Mode Duration" -- "status/hours": "Hours" -- "status/mode": "Mode" -- "status/status": "Status" -- "timer/status": "Timer Status" battery = extractedjson.status.battery duration = extractedjson.status.duration hours = extractedjson.status.hours AM_Status = extractedjson.status.status AM_Mode = extractedjson.status.mode AM_Timer = extractedjson.timer.status fibaro:debug(battery.."%") fibaro:debug(duration.."s") fibaro:debug(hours.."h") fibaro:debug(AM_Status) fibaro:debug(AM_Mode) fibaro:debug(AM_Timer) fibaro:call(selfId, "setProperty", "ui.LabelBatterystatus.value",(battery).." %"); fibaro:call(selfId, "setProperty", "ui.LabelModeDuration.value",(duration).." s"); fibaro:call(selfId, "setProperty", "ui.LabelHours.value",(hours).."h"); fibaro:call(selfId, "setProperty", "ui.LabelMode.value",(AM_Mode)); fibaro:call(selfId, "setProperty", "ui.LabelStatus.value",(AM_Status)); fibaro:call(selfId, "setProperty", "ui.LabelTimer.value",(AM_Timer)); fibaro:debug("Status Auswertung gestartet") if (AM_Status == 0) then fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Status wird ermittelt"); fibaro:log("Status: Status wird ermittelt") fibaro:debug("Status wird ermittelt") elseif (AM_Status == 1) then fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower parkt"); fibaro:log("Status: Automower parkt") fibaro:debug("Automower parkt") elseif (AM_Status == 2) then fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower mäht"); fibaro:log("Status: Automower mäht") fibaro:debug("Automower mäht") elseif (AM_Status == 3) then fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower sucht die Ladestation"); fibaro:log("Status: Automower sucht die Ladestation") fibaro:debug("Automower sucht die Ladestation") elseif (AM_Status == 4) then fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower lädt"); fibaro:log("Status: Automower lädt") fibaro:debug("Automower lädt") elseif (AM_Status == 5) then fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower sucht (wartet auf das Umsetzen im manuellen Modus)"); fibaro:log("Status: Automower sucht (wartet auf das Umsetzen im manuellen Modus)") fibaro:debug("Automower sucht (wartet auf das Umsetzen im manuellen Modus)") elseif (AM_Status == 7) then fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Fehlerstatus"); fibaro:log("Status: Fehlerstatus") fibaro:debug("Fehlerstatus") elseif (AM_Status == 8) then fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Schleifensignal verloren"); fibaro:log("Status: Automower Schleifensignal verloren") fibaro:debug("Automower Schleifensignal verloren") elseif (AM_Status == 16) then fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower abgeschaltet"); fibaro:log("Status: Automower abgeschaltet") fibaro:debug("Automower abgeschaltet") elseif (AM_Status == 17) then fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower schläft"); fibaro:log("Status: Automower schläft") fibaro:debug("Automower schläft") else fibaro:call(selfId, "setProperty", "ui.LabelState.value"," Error"); fibaro:log("Status: Ladefehler") fibaro:debug("Ladefehler") end fibaro:setGlobal("AM_Status", AM_Status); fibaro:sleep(100); fibaro:debug("Mode Auswertung gestartet") if (AM_Mode == 0) then fibaro:call(selfId, "setProperty", "ui.LabelMode.value"," Auto"); fibaro:log("Mode: Auto") fibaro:debug("Auto") elseif (AM_Mode == 1) then fibaro:call(selfId, "setProperty", "ui.LabelMode.value"," Manuell"); fibaro:log("Mode: Manuell") fibaro:debug("Manuell") elseif (AM_Mode == 2) then fibaro:call(selfId, "setProperty", "ui.LabelMode.value"," Home"); fibaro:log("Mode: Home") fibaro:debug("Home") elseif (AM_Mode == 3) then fibaro:call(selfId, "setProperty", "ui.LabelMode.value"," Demo"); fibaro:log("Mode: Demo") fibaro:debug("Demo") else fibaro:call(selfId, "setProperty", "ui.LabelMode.value"," Error"); fibaro:log("Mode: Fehler") fibaro:debug("Fehler") end fibaro:setGlobal("AM_Mode", AM_Mode); fibaro:sleep(100); fibaro:debug("Timer Auswertung gestartet") if (AM_Timer == 0) then fibaro:call(selfId, "setProperty", "ui.LabelTimer.value"," Deaktiviert"); fibaro:log("Timer: Deaktiviert") fibaro:debug("Deaktiviert") elseif (AM_Timer == 1) then fibaro:call(selfId, "setProperty", "ui.LabelTimer.value"," Auto"); fibaro:log("Timer: Auto") fibaro:debug("Auto") elseif (AM_Timer == 2) then fibaro:call(selfId, "setProperty", "ui.LabelTimer.value"," Standby"); fibaro:log("Timer: Standby") fibaro:debug("Standby") else fibaro:call(selfId, "setProperty", "ui.LabelTimer.value"," Error"); fibaro:log("Timer: Fehler") fibaro:debug("Fehler") end fibaro:setGlobal("AM_Timer", AM_Timer); -- Setze Icon fibaro:debug('Starte PING') local IP = '192.168.xx.xx' local PORT = 80 local versuche = 3 local iconOFFLINE = "1002" -- ANPASSEN; Gerät ist offline local iconONLINE = "1001" -- ANPASSEN; Gerät ist online local iconCHECK = "1003" -- ANPASSEN; Gerät wird angepingt local function _ping(retry) fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", iconCHECK) retry = retry or 0 local tcpSocket = Net.FTcpSocket(IP, PORT) tcpSocket:setReadTimeout(250) fibaro:debug('Suche..., versuche #' .. retry .. ' bitte warten...') fibaro:sleep(250) local bytes, errorCode = tcpSocket:write('ping') if errorCode == 0 then return true else if retry < versuche then fibaro:debug('Nicht gefunden, erneut versuchen, bitte warten...') fibaro:sleep(1000); return _ping(retry + 1) end return false end end local f, result = pcall(_ping) if (f) then if (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Aktiv" ) then fibaro:debug(IP.. ':' .. PORT .. ' wurde gefunden, der Timer Status des Automower ist Aktiv') fibaro:debug("Status wird abgefragt"); fibaro:call(175, "setProperty", "currentIcon", iconONLINE); elseif (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Standby" ) then fibaro:debug(IP.. ':' .. PORT .. ' wurde gefunden, der Timer Status des Automower ist Standby') fibaro:debug("Status wird abgefragt"); fibaro:call(175, "setProperty", "currentIcon", iconONLINE); elseif (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Deaktiviert" ) then fibaro:debug(IP.. ':' .. PORT .. ' wurde gefunden, der Timer Status des Automower ist Deaktiviert') fibaro:debug("Status wird abgefragt"); fibaro:call(175, "setProperty", "currentIcon", iconONLINE); elseif (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Manuell" ) then fibaro:debug(IP.. ':' .. PORT .. ' wurde gefunden, der Timer Status des Automower ist Manuell') fibaro:debug("Status wird abgefragt"); fibaro:call(175, "setProperty", "currentIcon", iconONLINE); else fibaro:debug(IP.. ':' .. PORT .. ' wurde nicht gefunden.') fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", iconOFFLINE) fibaro:call(175, "setProperty", "currentIcon", iconOFFLINE); fibaro:debug("Status des Automower wird aufgrund mangelnder Erreichbarkeit nicht abgefragt") end else fibaro:debug('Error: ' .. f) end J'ai aussi bien remplacé chaque numéro 175 par l'ID de mon VD. J'ai remarqué des différences sur quelques lignes, certaines ont des apostrophes au lieu des guillemets, est-ce normal? Comment fait-on pour ajouter d'autres infos du genre température, humidité, usure des lames ou même la position GPS qui doivent apparaître dans la trame json? J'ai bien essayé d'ajouter une nouvelle étiquette et dupliquer des lignes du genre fibaro:call(selfId, "setProperty", "ui.LabelHours.value" en remplaçant par blades par exemple (pour l'info des lames). J'aimerais aussi ajouter une icône quand la tondeuse est en charge et une autre quand elle est en défaut. Je cherche toujours un doc sur l'API du Robonect. Merci pour votre aide. VD_Automower_2019 Robonect.vfib P.S: Je vous rajoute aussi une trame du json: http://IP_mower/xml?cmd=status&blades&quality%7BAuthorization=Basic <robonect> <name>**********</name> <id>******</id> <status> <status>17</status> <distance>0</distance> <stopped>false</stopped> <duration>3417</duration> <mode>0</mode> <battery>100</battery> <hours>2202</hours> </status> <timer> <status>2</status> <next> <date>2020-11-21</date> <time>17:00:00</time> <unix>1605978000</unix> </next> </timer> <blades> <quality>73</quality> <hours>3</hours> <days>25</days> </blades> <wlan> <signal>-73</signal> </wlan> <health> <temperature>14</temperature> <humidity>47</humidity> </health> <clock> <date>2020-11-20</date> <time>22:39:33</time> <unix>1605911973</unix> </clock> <successful>true</successful> </robonect> 1
Nico Posté(e) le 31 janvier 2021 Signaler Posté(e) le 31 janvier 2021 @Did, vais commander et me prendre un 305 nouvelle génération. Ca donne quoi le VD, tout fonctionne bien avec ?
Did Posté(e) le 1 février 2021 Auteur Signaler Posté(e) le 1 février 2021 La tondeuse est rentrée au garage pour encore au moins deux mois. Pour le VD, il est toujours dans la config du début, je n'ai pas réussi à faire mes modifs, le Lua ce n'est pas mon rayon.
Nico Posté(e) le 1 février 2021 Signaler Posté(e) le 1 février 2021 Ca roule, je ferai la mise à jour.
Did Posté(e) le 5 avril 2021 Auteur Signaler Posté(e) le 5 avril 2021 J'ai enfin réussi à faire remonter l'usure et la durée (en jours) des lames sur le VD puis j'ai ajouté un Smart Implant où je récupère la température et l'hygrométrie, j'utilise aussi un des contacts pour allumer les phares bricolés également. Ces ajouts sont alimentés par une autre batterie 12V qui se rechargera une fois rentrée à la station (il me manque encore le contact pour récupérer le 12V de charge). Je cale sur le remontée de la température et l'hygrométrie dans le module virtuel, les étiquettes crées restent désespérément vides, voici la mainloop où j'ai ajouté les quelques lignes censées renseigner ces cases mais j'ai du mal faire quelques choses. fibaro:debug('Lancement PING') local IP = "192.168.xx.xx" local PORT = 80 local versuche = 3 local iconOFFLINE = "1055" -- L'appareil est hors ligne local iconONLINE = "1056" -- L'appareil est en ligne local iconCHECK = "1054" -- L'appareil émet un ping local function _ping(retry) fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", iconCHECK) retry = retry or 0 local tcpSocket = Net.FTcpSocket(IP, PORT) tcpSocket:setReadTimeout(250) fibaro:debug('Recherche..., essayez #' .. retry .. ' veuillez patienter...') fibaro:sleep(250) local bytes, errorCode = tcpSocket:write("ping") if errorCode == 0 then return true else if retry < versuche then fibaro:debug('Non trouvé, réessayez, veuillez attendre...') fibaro:sleep(1000); return _ping(retry + 1) end return false end end local f, result = pcall(_ping) if (f) then if (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Aktiv" ) then fibaro:debug(IP.. ':' .. PORT .. ' a été trouvé, le statut de la minuterie de l`Automower est Actif') fibaro:debug('L`état est interrogé'); fibaro:call(389, "pressButton", "6"); fibaro:debug('Le statut a été demandé, attendez 2 minutes'); fibaro:call(389, "setProperty", "currentIcon", iconONLINE); fibaro:sleep(120000) elseif (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Standby" ) then fibaro:debug(IP.. ':' .. PORT .. ' a été trouvé, le statut de l`Automower est Standby') fibaro:debug('L`état est interrogé'); fibaro:call(389, "pressButton", "6"); fibaro:debug('Le statut a été demandé, attendez 30 minutes'); fibaro:call(389, "setProperty", "currentIcon", iconONLINE); fibaro:sleep(1800000) elseif (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Deaktiviert" ) then fibaro:debug(IP.. ':' .. PORT .. ' a été trouvé, le statut de la minuterie de l`Automower est Désactivé') fibaro:debug('L`état est interrogé'); fibaro:call(389, "pressButton", "6"); fibaro:debug('Le statut a été demandé, attendez 30 minutes'); fibaro:call(389, "setProperty", "currentIcon", iconONLINE); fibaro:sleep(1800000) elseif (result == true) and (fibaro:getGlobalValue("Variable_AM_Timer") == "Manuell" ) then fibaro:debug(IP.. ':' .. PORT .. ' a été trouvé, le statut de la minuterie de l`Automower est Manuel) fibaro:debug('L`état est interrogé'); fibaro:call(389, "pressButton", "6"); fibaro:debug('Le statut a été demandé, attendez 10 minutes'); fibaro:call(389, "setProperty", "currentIcon", iconONLINE); fibaro:sleep(600000) else fibaro:debug(IP.. ':' .. PORT .. ' n`a pas été trouvé.') fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", iconOFFLINE) fibaro:call(389, "setProperty", "currentIcon", iconOFFLINE); fibaro:debug('Le statut de l`Automower n`est pas demandé en raison du manque d`accessibilité') fibaro:debug('Le statut n`a pas été demandé, attendez 10 minutes)'); fibaro:sleep(600000) end else fibaro:debug('Erreur: ' .. f) end local id_module_virtuel = fibaro:getSelfId() --fibaro:debug(temp.. " °C") --fibaro:debug(hygro.. " %") local temp = fibaro:getValue(383, "value") fibaro:call(id_module_virtuel, "setProperty", "ui.LabelTemp.value",temp.. " °C"); local hygro = fibaro:getValue(384, "value") fibaro:call(id_module_virtuel, "setProperty", "ui.LabelHygro.value",hygro.. " %"); Les sept dernières lignes concernent la température et l'hygrométrie, j'ai essayé avec les deux lignes commentées mais rien non plus. Voici mes deux étiquettes ajoutées: Si vous aviez la solution, c'est certainement une bêtise, je suis toujours niveau quiche en Lua.
Barelle Posté(e) le 5 avril 2021 Signaler Posté(e) le 5 avril 2021 Dans le code : LabelTemp, LabelHygro Dans la déclaration : Labeltemp, Labelhygro 1
Did Posté(e) le 5 avril 2021 Auteur Signaler Posté(e) le 5 avril 2021 Merci @Barelle, Je viens de remplacer par une majuscule mes deux étiquettes mais toujours rien. Il faut aussi modifier les variables locales (local temp, local hygro)?
Barelle Posté(e) le 5 avril 2021 Signaler Posté(e) le 5 avril 2021 Non, ce n'est pas utile, il faudrait s'assurer, par contre, qu'elles ont bien une valeur : local id_module_virtuel = fibaro:getSelfId() local temp = fibaro:getValue(383, "value") fibaro:debug("temp="..temp.. " °C") fibaro:call(id_module_virtuel, "setProperty", "ui.LabelTemp.value", temp.. " °C"); local hygro = fibaro:getValue(384, "value") fibaro:debug("hygro="..hygro.. " %") fibaro:call(id_module_virtuel, "setProperty", "ui.LabelHygro.value", hygro.. " %");
Did Posté(e) le 5 avril 2021 Auteur Signaler Posté(e) le 5 avril 2021 Le capteur de température et d'humidité DHT22 relié au FGBS-222 remonte bien des valeurs à la HC2. Ce sont les nœuds 383 & 384.
Barelle Posté(e) le 5 avril 2021 Signaler Posté(e) le 5 avril 2021 Désolé, mais je ne vois pas... Et en essayant de mettre ces quelques lignes en tout début du VD, juste après fibaro:debug('Lancement PING') pour court circuiter les sleep qui sont bien longs.
Barelle Posté(e) le 5 avril 2021 Signaler Posté(e) le 5 avril 2021 Je suis à sec, heureusement l'heure de l'apéro approche Par curiosité, que donne le json d'un des deux devices, le 383 par exemple. 1
Did Posté(e) le 5 avril 2021 Auteur Signaler Posté(e) le 5 avril 2021 Il faut faire comment pour récupérer le json? Une ligne à taper dans l'URL?
Barelle Posté(e) le 5 avril 2021 Signaler Posté(e) le 5 avril 2021 http://<adresse HC2>/api/devices/383 ou en passant par : http://<adresse HC2>/docs/#!/devices/getDevice
Did Posté(e) le 5 avril 2021 Auteur Signaler Posté(e) le 5 avril 2021 Merci, voici ce que ça me donne: id 383 name "T° tondeuse" roomID 232 type "com.fibaro.temperatureSensor" baseType "com.fibaro.multilevelSensor" enabled true visible true isPlugin false parentId 371 remoteGatewayId 0 interfaces 0 "zwave" 1 "zwaveAlarm" 2 "zwaveMultiChannelAssociation" properties parameters 0 id 24 lastReportedValue 0 lastSetValue 0 size 1 value 0 1 id 25 lastReportedValue 0 lastSetValue 0 size 1 value 0 2 id 40 lastReportedValue 0 lastSetValue 0 size 1 value 0 3 id 41 lastReportedValue 0 lastSetValue 0 size 1 value 0 4 id 47 lastReportedValue 255 lastSetValue 255 size 2 value 255 5 id 49 lastReportedValue 0 lastSetValue 0 size 2 value 0 6 id 52 lastReportedValue 255 lastSetValue 255 size 2 value 255 7 id 54 lastReportedValue 0 lastSetValue 0 size 2 value 0 8 id 63 lastReportedValue 5 lastSetValue 5 size 1 value 5 9 id 64 lastReportedValue 0 lastSetValue 0 size 2 value 0 10 id 65 lastReportedValue 5 lastSetValue 5 size 2 value 5 11 id 66 lastReportedValue 0 lastSetValue 0 size 2 value 0 12 id 67 lastReportedValue 5 lastSetValue 5 size 2 value 5 13 id 68 lastReportedValue 0 lastSetValue 0 size 2 value 0 14 id 150 lastReportedValue 10 lastSetValue 10 size 1 value 10 15 id 151 lastReportedValue 10 lastSetValue 10 size 1 value 10 16 id 152 lastReportedValue 0 lastSetValue 0 size 2 value 0 17 id 153 lastReportedValue 0 lastSetValue 0 size 2 value 0 18 id 154 lastReportedValue 0 lastSetValue 0 size 1 value 0 19 id 155 lastReportedValue 0 lastSetValue 0 size 1 value 0 20 id 156 lastReportedValue 0 lastSetValue 0 size 2 value 0 21 id 157 lastReportedValue 0 lastSetValue 0 size 2 value 0 pollingTimeSec 0 zwaveCompany "Fibargroup" zwaveInfo "3,6,2" zwaveVersion "5.2" alarmLevel "0" alarmType "0" categories "[\"climate\"]" configured true dead "false" deadReason "" deviceControlType "0" deviceIcon "1060" emailNotificationID "0" emailNotificationType "0" endPointId "8" log "" logTemp "" manufacturer "" markAsDead "true" model "" nodeId "81" offset "0.00" parametersTemplate "825" productInfo "1,15,5,2,16,0,5,2" pushNotificationID "0" pushNotificationType "0" remoteGatewayId "0" saveLogs "true" serialNumber "h'0000000000000835" showFireAlarm "true" showFreezeAlarm "false" smsNotificationID "0" smsNotificationType "0" unit "C" useTemplate "true" userDescription "" value "10.80" actions reconfigure 0 created 1617216046 modified 1617216046 sortOrder 246 383 name "T° tondeuse" roomID 232 type "com.fibaro.temperatureSensor" baseType "com.fibaro.multilevelSensor" enabled true visible true isPlugin false parentId 371 remoteGatewayId 0 interfaces 0 "zwave" 1 "zwaveAlarm" 2 "zwaveMultiChannelAssociation" properties parameters 0 id 24 lastReportedValue 0 lastSetValue 0 size 1 value 0 1 id 25 lastReportedValue 0 lastSetValue 0 size 1 value 0 2 id 40 lastReportedValue 0 lastSetValue 0 size 1 value 0 3 id 41 lastReportedValue 0 lastSetValue 0 size 1 value 0 4 id 47 lastReportedValue 255 lastSetValue 255 size 2 value 255 5 id 49 lastReportedValue 0 lastSetValue 0 size 2 value 0 6 id 52 lastReportedValue 255 lastSetValue 255 size 2 value 255 7 id 54 lastReportedValue 0 lastSetValue 0 size 2 value 0 8 id 63 lastReportedValue 5 lastSetValue 5 size 1 value 5 9 id 64 lastReportedValue 0 lastSetValue 0 size 2 value 0 10 id 65 lastReportedValue 5 lastSetValue 5 size 2 value 5 11 id 66 lastReportedValue 0 lastSetValue 0 size 2 value 0 12 id 67 lastReportedValue 5 lastSetValue 5 size 2 value 5 13 id 68 lastReportedValue 0 lastSetValue 0 size 2 value 0 14 id 150 lastReportedValue 10 lastSetValue 10 size 1 value 10 15 id 151 lastReportedValue 10 lastSetValue 10 size 1 value 10 16 id 152 lastReportedValue 0 lastSetValue 0 size 2 value 0 17 id 153 lastReportedValue 0 lastSetValue 0 size 2 value 0 18 id 154 lastReportedValue 0 lastSetValue 0 size 1 value 0 19 id 155 lastReportedValue 0 lastSetValue 0 size 1 value 0 20 id 156 lastReportedValue 0 lastSetValue 0 size 2 value 0 21 id 157 lastReportedValue 0 lastSetValue 0 size 2 value 0 pollingTimeSec 0 zwaveCompany "Fibargroup" zwaveInfo "3,6,2" zwaveVersion "5.2" alarmLevel "0" alarmType "0" categories "[\"climate\"]" configured true dead "false" deadReason "" deviceControlType "0" deviceIcon "1060" emailNotificationID "0" emailNotificationType "0" endPointId "8" log "" logTemp "" manufacturer "" markAsDead "true" model "" nodeId "81" offset "0.00" parametersTemplate "825" productInfo "1,15,5,2,16,0,5,2" pushNotificationID "0" pushNotificationType "0" remoteGatewayId "0" saveLogs "true" serialNumber "h'0000000000000835" showFireAlarm "true" showFreezeAlarm "false" smsNotificationID "0" smsNotificationType "0" unit "C" useTemplate "true" userDescription "" value "10.80" actions reconfigure 0 created 1617216046 modified 1617216046 sortOrder 246
Did Posté(e) le 6 avril 2021 Auteur Signaler Posté(e) le 6 avril 2021 La température et l’hygrométrie s'affichent enfin dans le VD, j'ai supprimé provisoirement toutes les autres lignes de la mainloop où j'ai constaté que ça fonctionnait puis j'ai recollé les lignes d'origine au dessus et maintenant ça marche, bizarre.
Did Posté(e) le 6 avril 2021 Auteur Signaler Posté(e) le 6 avril 2021 Bon en fait, c'était une fausse joie, l'affichage est figé sur les chiffres remontés quand j'avais retiré la mainloop d'origine, les données du module dans la HC2 ont bougé et ne s'actualisent pas dans le VD.
Nico Posté(e) le 1 mai 2021 Signaler Posté(e) le 1 mai 2021 Did, ça y est je suis entrain de tout installer aussi. Question, dans le mainloop tu as mis quoi comme port, juste 80 ? Car moi cela ne veut pas avec 80. Autre question, les icônes tu les as qque part ?
Did Posté(e) le 1 mai 2021 Auteur Signaler Posté(e) le 1 mai 2021 J'ai rentré l'adresse IP (local IP) et le port 80 (local PORT). Tu as coupé l’émission Wi-Fi provisoire du Robonect pour faire la première connexion? Pour les icônes, j'ai fait ceux-ci mais le VD affiche toujours le même, j'ai pourtant renseigné les numéros d'icônes. Et j'avais aussi celles-ci pour afficher le retour à la base, la température et humidité (Smart Implant) mais les fonctions ne sont pas ajoutées ou fonctionnelles. Si tu en as besoin d'autre, dis-moi.
Nico Posté(e) le 2 mai 2021 Signaler Posté(e) le 2 mai 2021 Top, merci pour les icônes. Pour le Wifi de départ, je l'ai laissé mais je lui ai ajouté une clef WPA2. Cela permettra un dépannage si jamais. Pour le VD, tu peux me mettre le log de ton Mainloop, car je me demande si le souci ne vient pas de ce dernier avec leur ping (J'aimerai voir ce que sort le tient). Je vais modifier ça (Je ne peux pas encore testé, car il est dans le garage là, il faut que le fil guide et le périph soit en place pour qu'il démarre). Maintenant je pense virer le refresh auto toutes les x minutes du mainloop, car je ne sais pas si tu as vu, mais le Robonect a un service Push intégré. Ce que je pense faire, ce sera plus propre et surtout sera beaucoup plus réactif : Je vais modifier le bouton statut et y mettre tous les updates dessus, donc les icônes. Et ensuite, le Robonect viendra cliquer sur ce bouton statut à chaque changement de statut. Ainsi le changement de statut sera immédiat et cela évitera un pooling continu pour récupérer son état. Normalement d'ici fin du mois il sera en place dehors, je pourrai faire les tests finaux et je mettrai la version à jour ici. 1
Nico Posté(e) le 2 mai 2021 Signaler Posté(e) le 2 mai 2021 Tiens, je viens de voir que le mien a un capteur d'humidité intégré, je vais voir si je peux récupérer ça dans le Json.
Did Posté(e) le 2 mai 2021 Auteur Signaler Posté(e) le 2 mai 2021 Voici ce que me donne le debug de celui d'origine (pas traduit), je m'aperçois que la mainloop de celui que j'ai traduit ne tourne pas. [DEBUG] 13:32:53: Starte PING [DEBUG] 13:32:53: Suche..., versuche #0 bitte warten... [DEBUG] 13:32:53: 192.168.xxx.xxx:80 wurde nicht gefunden. [DEBUG] 13:32:53: Status des Automower wird aufgrund mangelnder Erreichbarkeit nicht abgefragt [DEBUG] 13:32:53: Status wurde nicht abgefragt, warte für 10 Minuten) L'humidité peut-être affichée en haut à droite sur la page du Robonect. C'est bien celle-ci ta brebis?
Did Posté(e) le 2 mai 2021 Auteur Signaler Posté(e) le 2 mai 2021 Voilà le debug du mien, j'ai corrigé ce qui déconnais dans ma mainloop (reste encore la température et l'humidité du Smart Implant qui ne s'affiche toujours pas dans le VD. [DEBUG] 14:13:52: Lancement PING [DEBUG] 14:13:52: Recherche..., essayez #0 veuillez patienter... [DEBUG] 14:13:53: 192.168.xxx.xxx:80 n`a pas été trouvé. [DEBUG] 14:13:53: Le statut de l`Automower n`est pas demandé en raison du manque d`accessibilité [DEBUG] 14:13:53: Le statut n`a pas été demandé, attendez 10 minutes) [DEBUG] 14:23:56: Lancement PING [DEBUG] 14:23:56: Recherche..., essayez #0 veuillez patienter... [DEBUG] 14:23:56: 192.168.xxx.xxx:80 n`a pas été trouvé. [DEBUG] 14:23:56: Le statut de l`Automower n`est pas demandé en raison du manque d`accessibilité [DEBUG] 14:23:56: Le statut n`a pas été demandé, attendez 10 minutes)
Messages recommandés