Monitor - google maps - trafic - gps

Forum dédié aux interfaces personnalisables : Custom Pages, Reacticz, Domoboard...
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: custom page

Message par vil1driver »

si ça intéresse quelqu'un.. j'ai bien fouiné pour trouver l'app idéal pour me localiser et renseigner domoticz..

et je suis tombé sur traccar, https://www.traccar.org/

traccar c'est :
une app cliente vraiment simple à installer et à configurer, https://www.traccar.org/client/
un serveur personnel (windows, linux, osx) tout aussi simple à installer (pas de conf). https://www.traccar.org/download/

le serveur est également compatible avec une palanquée de gps matériels à installer sur véhicules.. https://www.traccar.org/devices/

une jolie interface web pour suivre tout ça..
Image

et du coups un petit script lua de ma conception pour envoyer les dernières coordonnées recueillies par le serveur traccar,
à domoticz dans des variables utilisateur (automatiquement créées par le script)..

Code : Tout sélectionner

--[[

 name: GPS
 type: time
 
 description: ce script permet de se connecter au serveur tracCar,
 de récupérer les dernières localisations gps des utilisateurs
 et de renseigner les variables correspondantes dans domoticz

--]]

--------------------------------
------ Tableau à éditer ------
--------------------------------

-- import des fontions pour lire le JSON (http://regex.info/code/JSON.lua)
json = (loadfile "/home/vil1driver/domoticz/scripts/lua/JSON.lua")()

-- chemin vers cURL
local curl = '/usr/bin/curl'

-- liste des utilisateurs déclarés dans traccar et leurs id correspondants
local user={}
user['olivier'] = '1'
user['delphine'] = '2'
-- etc..	

-- serveur traccar
local ip = '192.168.22.100'
local port = '8082'
local userName = 'admin'
local password = 'admin'

-- domoticz user:pass@ip:port
local domo = '192.168.22.100:8080'


--------------------------------
-- Fin du tableau à éditer --
--------------------------------


function url_encode(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

local i = 0
  
local t = os.time()

-- il y a 10 minutes
local from =  os.date("!%Y-%m-%dT%T.000Z", t - 600)
-- dans 2 minutes
local to = os.date("!%Y-%m-%dT%T.000Z", t + 120)

commandArray = {}

for name, id in pairs(user) do

	i = i+1
	
	if(uservariables['gps_'..name] == nil) then
		
		-- création des variables utilisateur au besoin
		commandArray[i]={['OpenURL']=domo..'/json.htm?type=command&param=saveuservariable&vname=gps_'..url_encode(name)..'&vtype=2&vvalue=0,0'}
		print('GPS '..name..' : création variable')
				
	else

		local url = 'http://'..ip..':'..port..'/api/positions?deviceId='..id..'&from='..url_encode(from)..'&to='..url_encode(to)..'&page=1&start=0&limit=25'
		--print(url)
		
		-- get data
		local s=assert(io.popen(curl..' -u '..userName..':'..password..' "'..url..'"'))
		local jsonData = s:read('*all')
		s:close()
		local gps = json:decode(jsonData)

		local n = 0
		
		for i, record in pairs(gps) do
			n = i
		end
		
		gps = gps[n]
		
		-- update variables
		if (gps ~= nil) then
			print('GPS '..name..' : '..gps['latitude']..','..gps['longitude']..' - '..gps['fixTime']:gsub('T',' - '):gsub('Z','')..' (UTC)')
			commandArray['Variable:gps_'..name] = gps['latitude']..','..gps['longitude']
		else
			print('GPS '..name..' : pas de données récentes')
		end
	end
	
end

return commandArray


en suite, libre à vous d'afficher cela sur la page trafic comme on l'a vu il y a quelques jours ;)
Dernière modification par vil1driver le 01 févr. 2016, 13:51, modifié 1 fois.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
boboz2
Messages : 17
Inscription : 05 févr. 2016, 13:59

Re: Monitor - google maps - trafic - gps

Message par boboz2 »

Bonjour,

Tout d'abord je viens de découvrir Monitor et c'est un travail de malade et complètement ouvert pour laisser libre court à son imagination. Donc un grand merci Vil1driver.

Petite question, est ce que depuis tes dernières réponses tu as trouvé un autre moyen que traccar pour te localiser et remonter l'infos à domoticz ?

Merci et encore bravo

boboz2
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Monitor - google maps - trafic - gps

Message par vil1driver »

Non désolé, je ne m'en sers plus
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
boboz2
Messages : 17
Inscription : 05 févr. 2016, 13:59

Re: Monitor - google maps - trafic - gps

Message par boboz2 »

Tant pis merci quand même.
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

Re: Monitor - google maps - trafic - gps

Message par landaisbenj »

Hello moi je suis fan de la solution sur apple !!! Si il y a des API disponnible en json ou quoi je suis preneur. je vais fouillé le script en exemple ici pour voir ce que je trouve mais plus d'info serai util.

Merci
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
seblultra
Messages : 22
Inscription : 08 déc. 2016, 10:05

Re: Monitor - google maps - trafic - gps

Message par seblultra »

Bonjour à tous et bravo vil1driver pour ce travail magnifique.
Je customise petit à petit monitor...
J'ai toutefois un petit soucis avec la page traffic qui fait planter la page sur chrome sur la tablette (difficile du coup de voir l'erreur).
Ca arrive au bout d'un certain temps, je n'ai pas réussi à trouver ce qui cloche.
Pas de soucis lorsque je désactive la page traffic.
Je pense que le plantage de la page arrive lors d'un refresh automatique.
Quelqu'un a ce problème ?
Domoticz raspberry PI Debian - Synology DS212J et DS215J- RFXCom RFXtrx433 - Volets roulants - Caméra IP - ~20 interrupteurs - Station LaCrosse - Capteurs - Orgon - Pilotage clim
seblultra
Messages : 22
Inscription : 08 déc. 2016, 10:05

Re: Monitor - google maps - trafic - gps

Message par seblultra »

up :?
Domoticz raspberry PI Debian - Synology DS212J et DS215J- RFXCom RFXtrx433 - Volets roulants - Caméra IP - ~20 interrupteurs - Station LaCrosse - Capteurs - Orgon - Pilotage clim
Répondre