-
Compteur de contenus
14 399 -
Inscription
-
Dernière visite
-
Jours gagnés
251
Tout ce qui a été posté par mprinfo
-
besoin aide connection routeur 4g Huawei Je viens enfin de réussir a me connecté a l'api de mon routeur E5186 je récupère la SessionID et le Token :http://192.168.8.1/api/webserver/SesTokInfo <?xml version="1.0" encoding="UTF-8"?> <response> <SesInfo>SessionID=JeKxkiXRYojMr/K+dxK0fRL0s+weG1v2wAm79swD1JFv/Ne+1hW3EQCGaJAJf8RGnmqbo7Ij6doAmKzzEzaSS3PqY2suMcucysr2ZpWQanvGcojzA/GEhZEskYdgQL+g</SesInfo> <TokInfo>y3o/pi/wOJrPC75N59B44OiUwRf+QJL9</TokInfo> </response> voici le code pour la home center 3 function QuickApp:SessionID() if self.cookie == nil then print("/api/webserver/SesTokInfo") self.http:request(self.controller .. "api/webserver/SesTokInfo", { options = { checkCertificate = false, method = 'GET', }, success = function(response) --print(json.encode(response.data)) if response.status == 200 then self.cookie = response.data local len = string.len(self.cookie) print(len) --277 self.Token = string.sub(self.cookie, 221, 252)--SesInfo self.cookie = string.sub(self.cookie, 62, 199)--TokInfo --self.cookie = string.sub(self.cookie, 72, 199) print("Cookie : ",self.cookie) print("Token : ",self.Token) --self:loginUnifi(self.cookie) --self:test(self.cookie) end end, error = function(error) self.cookie = nil self:error("checkTitreUnifi() échoué: ", json.encode(error)) self:updateView("Titre", "text", "Controleur UNIFi - checkVersionUnifi() échoué: "..json.encode(error)) end }) end end j'ai 2 variables : self.cookie (SessionID) self.Token (TOKEN) Avec ces 2 variables j'arrive a faire des GET pour récupérer les infos qui n'ont pas besoin d'authentification function QuickApp:API(adresse) if self.cookie ~= nil then print("/device/basic_information", self.cookie ) self.http:request(self.controller..adresse, { options = { checkCertificate = false, method = 'GET', headers = { ['Cookie'] = self.cookie , ["content-type"] = "text/xml", ['__RequestVerificationToken'] = self.Token } }, success = function(response) print(json.encode(response.data)) if response.status == 200 then print(response.data) end end, error = function(error) self.cookie = nil self:error("checkTitreUnifi() échoué: ", json.encode(error)) self:updateView("Titre", "text", "Controleur UNIFi - checkVersionUnifi() échoué: "..json.encode(error)) end }) end end j'appele ces fonctions comme ceci self:SessionID() fibaro.setTimeout(2 * 1000, function() print("-----------------------------------cradle") self:API("api/cradle/status-info") -- adresse mac "1 901 5 0 BC:25:E0:FA:C6:E5" print("-----------------------------------device") self:API("api/device/autorun-version") -- "22.001.07.00.03" self:API("api/device/basic_information") -- version IU web + logiciel "LTE cpe 0 16.100.02.00.03 21.316.01.00.00" self:API("api/device/device-feature-switch") -- 0 1 self:API("api/device/information") ---100003 -- il faut une authentification print("-----------------------------------dialup") self:API("api/dialup/connection")- -- 0600015001 self:API("api/dialup/mobile-dataswitch") -- 1 print("-----------------------------------global") self:API("api/global/module-switch") -- 0 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 print("-----------------------------------language") self:API("api/language/current-language") -- fr print("-----------------------------------monitoring") self:API("api/monitoring/check-notifications") -- UnreadMessage = 0 SmsStorageFull = 0 OnlineUpdateStatus = 14 self:API("api/monitoring/converged-status") -- SimState = 257 SimLockEnable = 0 CurrentLanguage = fr-fr self:API("api/monitoring/status") -- 901 2 101 3 0 0 '10.229.66.187' '172.20.2.39' '172.20.2.10' 0 64 64 2 1 1 101 5 0 1 cpe 0 1 self:API("api/monitoring/traffic-statistics") -- 8743 1637862 79800 0 0 1637862 79800 8743 1 print("-----------------------------------net") self:API("api/net/current-plmn") -- 0 F SFR SFR 20810 7 self:API("api/online-update/upgrade-messagebox") -- 1 self:API("api/pin/status") -- 257 258 3 10 self:API("api/redirection/homepage") -- 0 self:API("api/security/upnp") ---100003 il faut une authentification self:API("api/sms/sms-list") ---100005 self:API("api/user/login") ---100006 self:API("api/user/remind") -- 1 self:API("api/user/session") -- ok self:API("api/user/state-login") -- State = -1 Username = "admin" password_type = 4 self:API("api/wlan/basic-settings") -- Routeur2G 0 0 ALL b/g/n 0 100 32 1 2346 2347 1 100 1 0 0 1 1 600 0 0 0 self:API("api/wlan/multi-switch-settings") self:API("api/wlan/wifi-feature-switch") self:API("api/net/net-mode") self:API("config/lan/config.xml") -- config lan self:API("config/global/config.xml") self:API("config/global/net-type.xml") self:API("config/pcassistant/config.xml") self:API("config/deviceinformation/config.xml") end) On voit que j'arrive a récuperer une grande partie des infos sauf celle qui on besoin d'une authentification Le mot de passe et de type 4 donc il faut base64 et SHA256 j'ai trouver cela mais ca fonctionne pas ROUTER_IP=$1 ROUTER_USERNAME=$2 ROUTER_PASSWORD=$3 # Login CREDENTIALS=`printf $ROUTER_PASSWORD | sha256sum | head -c64 | base64 -w0` echo $CREDENTIALS #CREDENTIALS=`printf "%s%s%s" $ROUTER_USERNAME $CREDENTIALS $TOKEN | sha256sum | head -c64 | base64 -w0` echo $CREDENTIALS DATA=`printf "<request><Username>%s</Username><Password>%s</Password><password_type>4</password_type></request>" $ROUTER_USERNAME $CREDENTIALS` echo $DATA PostRouterData "/api/user/login" "$DATA" voici le script complet #!/bin/sh # Written by oga83 # Check command line parameters if [ "$#" -ne 5 ]; then printf "Syntax: %s <IP> <Username> <Password> <PhoneNumber> <Message>\n" $0 exit 0 fi ROUTER_IP=$1 ROUTER_USERNAME=$2 ROUTER_PASSWORD=$3 SMS_NUMBER=$4 SMS_TEXT=$5 TMP_HEADER_FILE=/tmp/headers.tmp CURL_OPT=--silent ProcessRouterResponseHeader() { # Get token from header NEWTOKEN=`cat $TMP_HEADER_FILE | grep "__RequestVerificationTokenone: " | awk -F' ' '{print $2}'` if [ ! -z "$NEWTOKEN" ]; then TOKEN=$NEWTOKEN; fi NEWTOKEN=`cat $TMP_HEADER_FILE | grep "__RequestVerificationToken: " | awk -F' ' '{print $2}'` if [ ! -z "$NEWTOKEN" ]; then TOKEN=$NEWTOKEN; fi NEWSESSIONID=`cat $TMP_HEADER_FILE | grep "Set-Cookie: SessionID=" | awk -F' ' '{print $2}' | cut -b 1-138` if [ ! -z "$NEWSESSIONID" ]; then SESSIONID=$NEWSESSIONID; fi echo $NEWTOKEN } GetRouterData() # Param1: Relative URL { #echo "GET on http://$ROUTER_IP$1" RESPONSE=`curl $CURL_OPT --request GET http://$ROUTER_IP$1 \ --dump-header $TMP_HEADER_FILE \ -H "Cookie: $SESSIONID" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \ ` ProcessRouterResponseHeader } GetSessionToken() # No parameters { # Get SessionID and RequestVerificationToken GetRouterData '/api/webserver/SesTokInfo' SESSIONID="SessionID="`echo "$RESPONSE"| grep -oPm1 "(?<=<SesInfo>)[^<]+"` TOKEN=`echo "$RESPONSE"| grep -oPm1 "(?<=<TokInfo>)[^<]+"` } PostRouterData() # Param1: RelativeUrl, Param2: Data, Param3:bAskNewToken { # Get new token if necessary if [ ! -z $3 ]; then GetSessionToken fi #echo "POST on http://$ROUTER_IP$1 :" $2 RESPONSE=`curl $CURL_OPT --request POST http://$ROUTER_IP$1 \ --dump-header $TMP_HEADER_FILE \ -H "Cookie: $SESSIONID" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \ --data "$2"` ProcessRouterResponseHeader } # Get initial SessionID and RequestVerificationToken GetSessionToken # Login CREDENTIALS=`printf $ROUTER_PASSWORD | sha256sum | head -c64 | base64 -w0` CREDENTIALS=`printf "%s%s%s" $ROUTER_USERNAME $CREDENTIALS $TOKEN | sha256sum | head -c64 | base64 -w0` DATA=`printf "<request><Username>%s</Username><Password>%s</Password><password_type>4</password_type></request>" $ROUTER_USERNAME $CREDENTIALS` PostRouterData "/api/user/login" "$DATA" # Send SMS DATA="<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>$SMS_NUMBER</Phone></Phones><Sca></Sca><Content>$SMS_TEXT</Content><Length>${#SMS_TEXT}</Length><Reserved>1</Reserved><Date>`date +'%F %T'`</Date></request>" PostRouterData "/api/sms/send-sms" "$DATA" 1 # Logout PostRouterData "/api/user/logout" "<request><Logout>1</Logout></request>" Merci d'avance pour votre aide
-
Scene HC3 - sourceTrigger Comment connaitre la source du déclenchement d'une scène Le déclenchement d'une scène est stocker sous forme de table dans sourceTrigger Pour connaitre la source tu déclenchement -- ACTIONS local trigger = sourceTrigger print(json.encode(trigger)) Sauvegarder et lancer l'action resultat : {"property":"execute","id":2,"type":"user"} On voit : property = "execute" -- string id = 2 (2 = compte admin) -- numerique type = "user" --string Comment Utiliser cette table ? Exemple : je veux savoir si la scène est lancer par l'utilisateur local trigger = sourceTrigger if (trigger.property == "execute") then -- declechement manuel print("Scene lancer manuellement par l'utilisateur)") end Exemple : Je veux soir quel utilisateur a lancer la scéne local trigger = sourceTrigger if (trigger.property == "execute") then -- declechement manuel print("Scene lancer manuellement par l'utilisateur) ", trigger.id) end Maintenant que nous savons comment fonction sourceTrigger nous allons voir comment cela fonctionne avec des déclarations Exemple : j'ai un cron qui déclenche la scène toutes les 10 mn je veux connaitre le jour date heure minute de chaque déclenchement --DÉCLARATIONS (Conditions/Déclencheurs) { type = "date", property = "cron", operator = "match", value = {"10,20,20,30,40,50,0", "*", "*", "*", "*","*"} } -- ACTIONS local trigger = sourceTrigger if (trigger.property == "cron") then if (trigger.type=="date") then local Minutes = trigger.value[1] local Heure = trigger.value[2] local Jour = trigger.value[3] local Mois = trigger.value[4] local NomJourNumerique = tonumber(trigger.value[5]) local JourString = {"Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"} local NonJourString = JourString[NomJourNumerique] local Annee = trigger.value[6] print (string.format("%s %s/%s/%s à %s h %s mn", NonJourString,Jour,Mois,Annee,Minutes,Heure)) end end resultat : Vendredi 5/6/2020 à 20 h 10 mn
-
Numéro de série / Date d'Achat des box HC3, HC2 et HCL
mprinfo a répondu à un(e) sujet de Lazer dans HC 2 & Lite
J'espère qu'elle fonctionne [emoji16]@lazer un peu de travail pour toi un nouveau serial à saisir Envoyé de mon BLA-L29 en utilisant Tapatalk- 265 réponses
-
- numéro de série
- hc2
-
(et 1 en plus)
Étiqueté avec :
-
Il suffit de créer un fibaro id avec l'adresse mail est d'y attaché ta box Si elle appartient à un fibaro id il faut demander le transfert Envoyé de mon BLA-L29 en utilisant Tapatalk
-
Nvidia pas classe [emoji1787] Envoyé de mon BLA-L29 en utilisant Tapatalk
- 15 réponses
-
- 1
-
-
- plex
- multimedia
-
(et 2 en plus)
Étiqueté avec :
-
La hc2 que tu as acheté d'occasion était aussi hs ? Envoyé de mon BLA-L29 en utilisant Tapatalk
-
Tu as vraiment mauvais goût [emoji23] Apple tv ça ce vend encore [emoji16] La shield est mieux en plus on peut mettre kodi ou plex Envoyé de mon BLA-L29 en utilisant Tapatalk
- 15 réponses
-
- 1
-
-
- plex
- multimedia
-
(et 2 en plus)
Étiqueté avec :
-
c'est parentId == 1 est non parentIid == 1 local TousLesModules = api.get("/devices/") local IdEnd = TousLesModules[#TousLesModules].id print ("Nombres de modules : " ..#TousLesModules) print ("Dernier ID : "..IdEnd) print ("-----------------------------------------------------------") print ("------- Listes de modules version 3,3,52") print ("-----------------------------------------------------------") local cpte = 0 for i,v in ipairs(TousLesModules) do --local id = TousLesModules[i].id local Nom = TousLesModules[i].name local parentId = TousLesModules[i].parentId local modifier = TousLesModules[i].modified local Valeur = TousLesModules[i].properties.value local zwaveInfo = TousLesModules[i].properties.zwaveInfo local theType = TousLesModules[i].type if parentId == 1 and zwaveInfo ~= nil then if zwaveInfo == "3,3,52" then cpte = cpte + 1 local id = TousLesModules[i].id print (cpte.." - "..zwaveInfo.." - Type = "..theType.." Id = "..id.." - Nom = "..Nom) end end end 22 chez moi
-
@lazer moi c'est pas mieux donc HC3 = console de QA (Jeux)
-
dommage moi j'utilise KODI super travail
- 15 réponses
-
- plex
- multimedia
-
(et 2 en plus)
Étiqueté avec :
-
voila une scène pour voir la version des modules en 3,3,52 fonctionne sur HC2 local TousLesModules = api.get("/devices/") local IdEnd = TousLesModules[#TousLesModules].id print ("Nombres de modules : " ..#TousLesModules) print ("Dernier ID : "..IdEnd) print ("-----------------------------------------------------------") print ("------- Listes de modules version 3,3,52") print ("-----------------------------------------------------------") for i,v in ipairs(TousLesModules) do --local id = TousLesModules[i].id local Nom = TousLesModules[i].name local visible = TousLesModules[i].visible local modifier = TousLesModules[i].modified local Valeur = TousLesModules[i].properties.value local zwaveInfo = TousLesModules[i].properties.zwaveInfo local theType = TousLesModules[i].type if visible == true and zwaveInfo ~= nil then if zwaveInfo == "3,3,52" then local id = TousLesModules[i].id print (zwaveInfo.." - Type = "..theType.." Id = "..id.." - Nom = "..Nom) end end end
-
Moi j'utilise toujours des valeurs pour les volets de 0 à 99 Pour le moment j'ai pas de modules fgr sur ma hc3 tout est resté sur ma hc2 Envoyé de mon BLA-L29 en utilisant Tapatalk
-
Numéro de série / Date d'Achat des box HC3, HC2 et HCL
mprinfo a répondu à un(e) sujet de Lazer dans HC 2 & Lite
Ça c'est une erreur du vendeur Il faut acheter français [emoji1787] J'ai eu le même soucis avec un colis aliexpress Livré à une autre adresse J'ai été remboursé par le vendeur C'est chiant j'ai des pile rcr123 et pas de chargeur [emoji22] Envoyé de mon BLA-L29 en utilisant Tapatalk- 265 réponses
-
- numéro de série
- hc2
-
(et 1 en plus)
Étiqueté avec :
-
quick app Quick App - Vacances scolaires
mprinfo a répondu à un(e) sujet de mprinfo dans Quick App Developpeur
@benjynet c'est spécialement pour toi -
Quick App - Vacances scolaires Ce quick app est une adaptation du VD Vacances scolaires de @steven Il faut juste renseigné le département Je ne sais pas combien de temps cela va fonctionner le fichier de données est a jour jusqu'en septembre 2021 lien du Quick App : Vac_scolaires_V2.00.fqa
-
@krikroff heureusement qu'il n'est pas comme mon pouce ton petit doigt [emoji106] Envoyé de mon BLA-L29 en utilisant Tapatalk
-
Alors là je ne peux répondre La seule chose que l'on peut migré c'est les devices zwave Envoyé de mon BLA-L29 en utilisant Tapatalk
-
QA unifi presence a TESTER c'est une modification du QA unifi presence du forum fibaro il faut modifier les variables IP, Login, password Pour ajouter un device on doit mettre un nom (Nom device par exemple° et l'adresse mac exemple : "Tel Toto","00:00:0:00:00:10" On sauvegarde est c'est terminer Fichier : UniFi_Presense_V0.30(1).fqa
-
@lazer dernier version vérification MAC : Ok mise a jour de la valeur OK Amélioration du traçage Affichage des erreurs dans les étiquettes connections Mac adresse
-
Liste les devices au démarrage Ajoute la dernière adresse IP connu (Le setvariable ne ce fait que si l'adresse IP est différente) Affiche la version du contrôleur est si connecté si la mac est affichée le device n'est pas présent si l'ip est afficher le device est présent il me reste améliorer le contrôle de l'adresse mac Pour le moment je fais une concaténation afin d'avoir la même chaine que le QA original
-
Moi j'ai un QA unfi à te faire tester pour avoir ton retour. C'est un QA fait à partir du code du forum officiel Envoyé de mon BLA-L29 en utilisant Tapatalk
-
Box domotique Fibaro Home Center 3 à 497 euros
mprinfo a répondu à un(e) sujet de mprinfo dans Sites internet
Le -20% chez Domadoo ne fonctionne pas pour la hc3 Envoyé de mon BLA-L29 en utilisant Tapatalk -
Quick App - Monitoring Serveur NAS Synology
mprinfo a répondu à un(e) sujet de fredokl dans Quick App Developpeur
Moi aucun soucis dsm sous esxi xpenology Tu as essayé avec un time out dans http Envoyé de mon BLA-L29 en utilisant Tapatalk -
Moi je prendrais au moins un réd 4to vu le prix des HD On commence avec les enregistrements des caméras, documents puis films est on est vite à court d'espace Perso j'ai un 8to ça commence à être juste Envoyé de mon BLA-L29 en utilisant Tapatalk
- 1 631 réponses
-
- topic unique
- surveillance
-
(et 2 en plus)
Étiqueté avec :
-
Quick App - Monitoring Serveur NAS Synology
mprinfo a répondu à un(e) sujet de fredokl dans Quick App Developpeur
Je plaisante [emoji12] Envoyé de mon BLA-L29 en utilisant Tapatalk