pepite Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 yes, merci @MAM78, ca cest bon. RER A bonjour :-)
Sakkhho Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 c'est quand meme pas evident le choix du trajet je trouve , non ?
minos Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 Coucou, J'arrive à extraire ça avec ça : https://api.sncf.com/v1/coverage/sncf/journeys?from=admin:fr:71076&to=admin:fr:21231 {"tickets":[],"links":[{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/journeys?to=admin%3Afr%3A21231&from=admin%3Afr%3A71076&datetime_represents=departure&datetime=20170711T055201","type":"next","rel":"next","templated":false},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/journeys?to=admin%3Afr%3A21231&from=admin%3Afr%3A71076&datetime_represents=arrival&datetime=20170711T063859","type":"prev","rel":"prev","templated":false},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/journeys?to=admin%3Afr%3A21231&from=admin%3Afr%3A71076&datetime_represents=departure&datetime=20170711T000000","type":"first","rel":"first","templated":false},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/journeys?to=admin%3Afr%3A21231&from=admin%3Afr%3A71076&datetime_represents=arrival&datetime=20170711T235959","type":"last","rel":"last","templated":false},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/stop_points\/{stop_point.id}","type":"stop_point","rel":"stop_points","templated":true},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/stop_areas\/{stop_area.id}","type":"stop_area","rel":"stop_areas","templated":true},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/vehicle_journeys\/{vehicle_journey.id}","type":"vehicle_journey","rel":"vehicle_journeys","templated":true},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/routes\/{route.id}","type":"route","rel":"routes","templated":true},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/commercial_modes\/{commercial_mode.id}","type":"commercial_mode","rel":"commercial_modes","templated":true},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/lines\/{line.id}","type":"line","rel":"lines","templated":true},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/physical_modes\/{physical_mode.id}","type":"physical_mode","rel":"physical_modes","templated":true},{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/networks\/{network.id}","type":"network","rel":"networks","templated":true}],"journeys":[{"fare":{"found":false,"total":{"currency":"","value":"0.0"},"links":[]},"status":"","links":[{"href":"https:\/\/api.sncf.com\/v1\/coverage\/sncf\/journeys?from=admin%3Afr%3A71076&last_section_mode%5B%5D=walking&is_journey_schedules=True&direct_path=none&to=admin%3Afr%3A21231&min_nb_journeys=5&min_nb_transfers=0&allowed_id%5B%5D=stop_point%3AOCE%3ASP%3ATrainTER-87725002&allowed_id%5B%5D=stop_point%3AOCE%3ASP%3ATrainTER-87713040&first_section_mode%5B%5D=walking","type":"journeys","rel":"same_journey_schedules","templated":false}],"tags":["walking","ecologic"],"nb_transfers":0,"durations":{"walking":0,"total":2820},"arrival_date_time":"20170711T063900","calendars":[{"exceptions":[{"type":"remove","datetime":"20170714"},{"type":"remove","datetime":"20170815"}],"active_periods":[{"begin":"20170617","end":"20170902"}],"week_pattern":{"monday":true,"tuesday":true,"friday":true,"wednesday":true,"thursday":true,"sunday":false,"saturday":true}}],"departure_date_time":"20170711T055200","requested_date_time":"20170710T215957","sections":[{"from":{"embedded_type":"administrative_region","quality":0,"administrative_region":{"insee":"71076","name":"Chalon-sur-Sa\u00f4ne","level":8,"coord":{"lat":"46.788898","lon":"4.85296"},"label":"Chalon-sur-Sa\u00f4ne (71100)","id":"admin:fr:71076","zip_code":"71100"},"id":"admin:fr:71076","name":"Chalon-sur-Sa\u00f4ne (71100)"},"links":[],"arrival_date_time":"20170711T055200","co2_emission":{"value":0.0,"unit":""},"to":{"embedded_type":"stop_point","stop_point":{"name":"Chalon-sur-Sa\u00f4ne","links":[],"coord":{"lat":"46.781561","lon":"4.843487"},"label":"Chalon-sur-Sa\u00f4ne (Chalon-sur-Sa\u00f4ne)","equipments":[],"administrative_regions":[{"insee":"71076","name":"Chalon-sur-Sa\u00f4ne","level":8,"coord":{"lat":"46.788898","lon":"4.85296"},"label":"Chalon-sur-Sa\u00f4ne (71100)","id":"admin:fr:71076","zip_code":"71100"}],"id":"stop_point:OCE:SP:TrainTER-87725002","stop_area":{"codes":[{"type":"CR-CI-CH","value":"0087-725002-BV"}],"name":"Chalon-sur-Sa\u00f4ne","links":[],"coord":{"lat":"46.781561","lon":"4.843487"},"label":"Chalon-sur-Sa\u00f4ne (Chalon-sur-Sa\u00f4ne)","timezone":"Europe\/Paris","id":"stop_area:OCE:SA:87725002"}},"quality":0,"id":"stop_point:OCE:SP:TrainTER-87725002","name":"Chalon-sur-Sa\u00f4ne (Chalon-sur-Sa\u00f4ne)"},"departure_date_time":"20170711T055200","duration":0,"type":"crow_fly","id":"section_0_0","mode":"walking"},{"from":{"embedded_type":"stop_point","stop_point":{"name":"Chalon-sur-Sa\u00f4ne","links":[],"coord":{"lat":"46.781561","lon":"4.843487"},"label":"Chalon-sur-Sa\u00f4ne (Chalon-sur-Sa\u00f4ne)","equipments":[],"administrative_regions":[{"insee":"71076","name":"Chalon-sur-Sa\u00f4ne","level":8,"coord":{"lat":"46.788898","lon":"4.85296"},"label":"Chalon-sur-Sa\u00f4ne (71100)","id":"admin:fr:71076","zip_code":"71100"}],"id":"stop_point:OCE:SP:TrainTER-87725002","stop_area":{"codes":[{"type":"CR-CI-CH","value":"0087-725002-BV"}],"name":"Chalon-sur-Sa\u00f4ne","links":[],"coord":{"lat":"46.781561","lon":"4.843487"},"label":"Chalon-sur-Sa\u00f4ne (Chalon-sur-Sa\u00f4ne)","timezone":"Europe\/Paris","id":"stop_area:OCE:SA:87725002"}},"quality":0,"id":"stop_point:OCE:SP:TrainTER-87725002","name":"Chalon-sur-Sa\u00f4ne (Chalon-sur-Sa\u00f4ne)"},"links":[{"type":"vehicle_journey","id":"vehicle_journey:OCE:SN891400F01001"},{"type":"line","id":"line:OCE:725921"},{"type":"route","id":"route:OCE:725921-TrainTER-87725002-87713040"},{"type":"commercial_mode","id":"commercial_mode:ter"},{"type":"physical_mode","id":"physical_mode:LocalTrain"},{"type":"network","id":"network:sncf"}],"arrival_date_time":"20170711T063900","additional_informations":["regular"],"co2_emission":{"value":2063.347,"unit":"gEC"},"display_informations":{"direction":"Dijon-Ville (Dijon)","code":"","description":"","links":[],"color":"000000","physical_mode":"TER","headsign":"891400","commercial_mode":"TER","equipments":[],"label":"Dijon - Chalon - M\u00e2con","text_color":"","network":"SNCF"},"to":{"embedded_type":"stop_point","stop_point":{"name":"Dijon-Ville","links":[],"coord":{"lat":"47.323392","lon":"5.027278"},"label":"Dijon-Ville (Dijon)","equipments":[],"administrative_regions":[{"insee":"21231","name":"Dijon","level":8,"coord":{"lat":"47.321579","lon":"5.04147"},"label":"Dijon (21000)","id":"admin:fr:21231","zip_code":"21000"}],"id":"stop_point:OCE:SP:TrainTER-87713040","stop_area":{"codes":[{"type":"CR-CI-CH","value":"0087-713040-BV"}],"name":"Dijon-Ville","links":[],"coord":{"lat":"47.323392","lon":"5.027278"},"label":"Dijon-Ville (Dijon)","timezone":"Europe\/Paris","id":"stop_area:OCE:SA:87713040"}},"quality":0,"id":"stop_point:OCE:SP:TrainTER-87713040","name":"Dijon-Ville (Dijon)"},"base_arrival_date_time":"20170711T063900","base_departure_date_time":"20170711T055200","departure_date_time":"20170711T055200","geojson":{"type":"LineString","properties":[{"length":67210}],"coordinates":[[4.843487,46.781561],[4.749648,46.907419],[4.848722,47.02303],[4.956226,47.130657],[4.998787,47.227377],[5.027278,47.323392]]},"duration":2820,"type":"public_transport","id":"section_1_0","stop_date_times":[{"stop_point":{"name":"Chalon-sur-Sa\u00f4ne","links":[],"coord":{"lat":"46.781561","lon":"4.843487"},"label":"Chalon-sur-Sa\u00f4ne (Chalon-sur-Sa\u00f4ne)","equipments":[],"id":"stop_point:OCE:SP:TrainTER-87725002"},"links":[],"arrival_date_time":"20170711T055200","additional_informations":[],"departure_date_time":"20170711T055200","base_arrival_date_time":"20170711T055200","base_departure_date_time":"20170711T055200"},{"stop_point":{"name":"Chagny","links":[],"coord":{"lat":"46.907419","lon":"4.749648"},"label":"Chagny (Chagny)","equipments":[],"id":"stop_point:OCE:SP:TrainTER-87713578"},"links":[],"arrival_date_time":"20170711T060100","additional_informations":[],"departure_date_time":"20170711T060200","base_arrival_date_time":"20170711T060100","base_departure_date_time":"20170711T060200"},{"stop_point":{"name":"Beaune","links":[],"coord":{"lat":"47.02303","lon":"4.848722"},"label":"Beaune (Beaune)","equipments":[],"id":"stop_point:OCE:SP:TrainTER-87713545"},"links":[],"arrival_date_time":"20170711T061000","additional_informations":[],"departure_date_time":"20170711T061100","base_arrival_date_time":"20170711T061000","base_departure_date_time":"20170711T061100"},{"stop_point":{"name":"Nuits-St-Georges","links":[],"coord":{"lat":"47.130657","lon":"4.956226"},"label":"Nuits-St-Georges (Nuits-Saint-Georges)","equipments":[],"id":"stop_point:OCE:SP:TrainTER-87713529"},"links":[],"arrival_date_time":"20170711T061900","additional_informations":[],"departure_date_time":"20170711T062000","base_arrival_date_time":"20170711T061900","base_departure_date_time":"20170711T062000"},{"stop_point":{"name":"Gevrey-Chambertin","links":[],"coord":{"lat":"47.227377","lon":"4.998787"},"label":"Gevrey-Chambertin (Gevrey-Chambertin)","equipments":[],"id":"stop_point:OCE:SP:TrainTER-87713503"},"links":[],"arrival_date_time":"20170711T062900","additional_informations":[],"departure_date_time":"20170711T063000","base_arrival_date_time":"20170711T062900","base_departure_date_time":"20170711T063000"},{"stop_point":{"name":"Dijon-Ville","links":[],"coord":{"lat":"47.323392","lon":"5.027278"},"label":"Dijon-Ville (Dijon)","equipments":[],"id":"stop_point:OCE:SP:TrainTER-87713040"},"links":[],"arrival_date_time":"20170711T063900","additional_informations":[],"departure_date_time":"20170711T063900","base_arrival_date_time":"20170711T063900","base_departure_date_time":"20170711T063900"}]},{"from":{"embedded_type":"stop_point","stop_point":{"name":"Dijon-Ville","links":[],"coord":{"lat":"47.323392","lon":"5.027278"},"label":"Dijon-Ville (Dijon)","equipments":[],"administrative_regions":[{"insee":"21231","name":"Dijon","level":8,"coord":{"lat":"47.321579","lon":"5.04147"},"label":"Dijon (21000)","id":"admin:fr:21231","zip_code":"21000"}],"id":"stop_point:OCE:SP:TrainTER-87713040","stop_area":{"codes":[{"type":"CR-CI-CH","value":"0087-713040-BV"}],"name":"Dijon-Ville","links":[],"coord":{"lat":"47.323392","lon":"5.027278"},"label":"Dijon-Ville (Dijon)","timezone":"Europe\/Paris","id":"stop_area:OCE:SA:87713040"}},"quality":0,"id":"stop_point:OCE:SP:TrainTER-87713040","name":"Dijon-Ville (Dijon)"},"links":[],"arrival_date_time":"20170711T063900","co2_emission":{"value":0.0,"unit":""},"to":{"embedded_type":"administrative_region","quality":0,"administrative_region":{"insee":"21231","name":"Dijon","level":8,"coord":{"lat":"47.321579","lon":"5.04147"},"label":"Dijon (21000)","id":"admin:fr:21231","zip_code":"21000"},"id":"admin:fr:21231","name":"Dijon (21000)"},"departure_date_time":"20170711T063900","duration":0,"type":"crow_fly","id":"section_2_0","mode":"walking"}],"co2_emission":{"value":2063.347,"unit":"gEC"},"duration":2820,"type":"best"}],"disruptions":[],"notes":[],"feed_publishers":[],"context":{"car_direct_path":{"co2_emission":{"value":15138.9397330868,"unit":"gEC"}}},"exceptions":[]}
MAM78 Posté(e) le 10 juillet 2017 Auteur Signaler Posté(e) le 10 juillet 2017 t'inquiète ce sera plus simple pour la future version 1
minos Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 il y a 2 minutes, Sakkhho a dit : c'est quand meme pas evident le choix du trajet je trouve , non ? Moi avec cette interface , pas moyen j ai toujours ce message erreur.. tu peux essayer dans ton interface , à la place RER A de mettre TER ??? "message": ⊕"The server could not verify that you are authorized to acces ..."
minos Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 En plus , la sncf ...ce soir m'en a fait une belle... plus de 2h30 de retard , rentré à 21h ce soir .... avec pleins de trains supprimés , des changements de trains ....Que du bonheur !!! Bref ça c'est un petit coup de gueule au passage ... Désolé
minos Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 @Sakkhho Ben Merci , je comprends pas ...moi ça marche pas .. on dirait que ma token de marche pas.... pourtant dans le navigateur , j'ai bien la popup dans laquelle je renseigne ma token et ça passe ... bizarre ...!!
Sakkhho Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 c'est un problème de token c'est certain MP moi la clef je regarderai
minos Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 il y a 2 minutes, Sakkhho a dit : c'est un problème de token c'est certain oui c'est ce que je me suis dit ... donc j'en ai fait une autre avec un autre compte ....et ben pareil
MAM78 Posté(e) le 10 juillet 2017 Auteur Signaler Posté(e) le 10 juillet 2017 (modifié) @minos Si tu arrives à extraire le code Rest indiqué ci-dessous, ce ne doit pas venir de ton token. Modifié le 10 juillet 2017 par MAM78
minos Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 Voilà le message d'erreur exact:
MAM78 Posté(e) le 10 juillet 2017 Auteur Signaler Posté(e) le 10 juillet 2017 lorsque tu saisis TER, tu dois avoir une liste qui s'affiche, puis tu sélectionnes la ligne qui correspond à ta recherche et tu fais ENTER puis tu récupère le code du champs
minos Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 il y a 3 minutes, MAM78 a dit : Si tu arrives à extraire le code Rest indiqué ci-dessous, ce ne dois pas venir de ton token. @MAM78 c'est ce que je crois .... j'ai pensé au soucis de navigateur : Chrome, firefox, Edge, IE => tests tous KO !!!
minos Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 @MAM78 , oui je vois bien le principe , sauf que j'ai l'erreur du cadre du bas Response Message : The server ......
MAM78 Posté(e) le 10 juillet 2017 Auteur Signaler Posté(e) le 10 juillet 2017 alors là tu à bien un PB de token probablement. Laisse moi un instant, je vais vous livrer une nouvelle version
minos Posté(e) le 10 juillet 2017 Signaler Posté(e) le 10 juillet 2017 à l’instant, MAM78 a dit : Laisse moi un instant, je vais vous livrer une nouvelle version T'inquiete je suis pas aux pièces...après ma journée de M.... avec la sncf ...
MAM78 Posté(e) le 10 juillet 2017 Auteur Signaler Posté(e) le 10 juillet 2017 Pour test : Vous trouverez ci-dessous le VD à Charger : Itinéraire_SNCF.vfib.json N'oubliez pas de modifier la variable SceneID_Iti_SNCF par l'ID de la Scène Itinéraire SNCF (dans laquelle vous aurez coller le code LUA ci-dessous) Voici le code de la nouvelle scène : N'oubliez pas de modifier l'ID de votre Scène Sonos dans la variable SceneID_Sonos (si vous en possédez une enceinte) --[[ %% properties %% events %% globals --]] ---------------------------------------------------------------------------------- -- Name : HC2 SNCF Itinéraire -- Type : Virtual Device & Scene -- Cette scène permet d'obtenir l'horaire du prochain train au départ d'une gare ---------------------------------------------------------------------------------- -- Le Projet : -- Construire Virtual Device Affichant les données reccupérées -- avec en option une notification vocale sur une enceinte SONOS en mode TTS ---------------------------------------------------------------------------------- -- Version : 0.2 -- Création : MAM78 -- Date MAJ : 09/07/2017 -- -- Evolutions : -- V0.1 09/07/2017 : Initialisation du projet -- V0.2 10/07/2017 : Association de la scène à un VD qui appel la scène en -- passant les paramètres de la recherche d'itinéraire ---------------------------------------------------------------------------------- -- User variables local SceneID_Sonos = 61 local modetrace = true local modedebug = true ---------------------------------------------------------------------------------- -- Pour pouvoir utiliser l'API de la SNCF, vous devez vous créer un compte sur : -- https://data.sncf.com/api -- Une fois votre compte créé vous recevrez un mail avec une clé d’authentification -- Puis, vous devez vous connecter au site : -- https://www.base64encode.org -- Puis, encoder la clef reçu dans le mail ci-dessus -- Copier ce code dans la vadiable ci-dessous (User_API_Sncf) ---------------------------------------------------------------------------------- local User_API_Sncf = "votre code API SNCF encodé en 64" ---------------------------------------------------------------------------------- -- Ne pas modifier le code ci-dessous, sinon pour l'adapter à votre usage ---------------------------------------------------------------------------------- local TimeOut = 3000 ---------------------------------------------------------------------------------- -- Message pour mode Trace ---------------------------------------------------------------------------------- function Trace(color, message) if modetrace then if color and color ~= "" then fibaro:debug('<span style="color:'..color..';">'..message..'</span>') else fibaro:debug(message) end end end ---------------------------------------------------------------------------------- -- Message pour mode Debug ---------------------------------------------------------------------------------- function Debug(color, message) if modedebug then if color and color ~= "" then fibaro:debug('<span style="color:'..color..';">'..message..'</span>') else fibaro:debug(message) end end end function SetUI(id, target, value) fibaro:call(id, "setProperty", "ui."..target..".value", value); end ---------------------------------------------------------------------------------- -- Retourne le jour de la semaine en clair ---------------------------------------------------------------------------------- function josdGetJourSemaine(jour) josdGetJourSemaineTab={[0]="Dimanche",[1]="Lundi",[2]="Mardi",[3]="Mercredi",[4]="Jeudi",[5]="Vendredi",[6]="Samedi"} return josdGetJourSemaineTab[tonumber(jour)] end ---------------------------------------------------------------------------------- -- Conversion format date "aaaammjjThhmmss" en format date ---------------------------------------------------------------------------------- function Conversion_Date(dateheure) local TableDate = os.date("*t") TableDate.day = string.sub (dateheure, 7, 8) TableDate.month = string.sub (dateheure, 5, 6) TableDate.year = string.sub (dateheure, 1, 4) TableDate.hour = string.sub (dateheure, 10, 11) TableDate.min = string.sub (dateheure, 12, 13) return (os.time(TableDate)) end ---------------------------------------------------------------------------------- -- Traitement des données en provenance de l'IPA SNCF ---------------------------------------------------------------------------------- function GetData() Debug("grey","T1".." - "..Iti_Titre) -- https://api.sncf.com/v1/coverage/sncf -- /journeys? -- from=stop_area:OCE:SA:87382473& -- to=stop_area:OCE:SA:87382218& -- datetime='20170716T040000'& -- datetime_represents=departure& -- min_nb_journeys=4 local api_url = "https://api.sncf.com/v1" local api_coverage = "sncf" local api_fonction = "journeys?" local api_from = code_api_from local api_to = code_api_to local api_datetime = os.date("%Y%m%dT%H%M00", os.time()) local api_datetime_represents = "departure" local api_min_nb_journeys = "3" local Query = api_url local Query = Query .. "/coverage/" .. api_coverage local Query = Query .. "/" .. api_fonction local Query = Query .. "from=" .. api_from.."&" local Query = Query .. "to=" .. api_to.."&" local Query = Query .. "datetime=" .. api_datetime.."&" local Query = Query .. "datetime_represents=" .. api_datetime_represents.."&" local Query = Query .. "min_nb_journeys" .. api_min_nb_journeys Debug("grey","T2".." - "..Iti_Titre) local http = net.HTTPClient({ timeout = TimeOut }) Debug("grey","T3".." - "..Iti_Titre) Debug("grey",Query) local ok = pcall(function() http:request(Query, { options = { method = 'GET', headers ={ ["Content-Type"] = "application/json", ["Authorization"] = "BASIC "..User_API_Sncf}, data = body }, success = function(response) Debug("grey","T4".." - "..Iti_Titre) if response.status == 200 then Debug("grey","T5".." - "..Iti_Titre) Trace("blue","Traitement ok : "..Iti_Titre) local status, data = pcall(json.decode, response.data) if (status and data) then Trace("green","Départ : "..data.journeys[1].sections[1].from.stop_point.name) Trace("green","Direction : "..data.journeys[1].sections[1].to.stop_point.name) SetUI(VD_Id, "lblLigne", data.journeys[1].sections[1].display_informations.commercial_mode .." / "..data.journeys[1].sections[1].display_informations.code) SetUI(VD_Id, "lblFrom", data.journeys[1].sections[1].from.stop_point.name) SetUI(VD_Id, "lblTo", data.journeys[1].sections[1].to.stop_point.name) SetUI(VD_Id, "lblDir", data.journeys[1].sections[1].display_informations.direction) if data.journeys[1].status =="" then SetUI(VD_Id, "lblTrafic", "normal") else SetUI(VD_Id, "lblTrafic", data.journeys[1].status) end local Date_Time = Conversion_Date(data.journeys[1].sections[1].departure_date_time) local Horaire = tostring(tonumber(os.date("%H", Date_Time))) .. " heure ".. tostring(tonumber(os.date("%M", Date_Time))) local JourSemaine = josdGetJourSemaine(os.date("%w", MonHeure)) -- Test pour vérifier si le prochain départ est pour le jour même if os.date("%Y/%m/%d",Date_Time) == os.date("%Y/%m/%d",time) then Prochain_Depart = "aujourd'hui" else Prochain_Depart = JourSemaine end Trace("green", "Prochain départ "..Prochain_Depart.." à " ..os.date("%H:%M", Date_Time)) local Lbl_message = "Départ à "..os.date("%H:%M", Date_Time) -- SetUI(params[idx].VD_Id, "lblDep1", "Départ "..Prochain_Depart.." à " ..Horaire) message = "Prochain départ" message = message .. " "..Prochain_Depart message = message .. " de "..Msg_Depart message = message .. " pour "..Msg_Arrivee message = message .. " a ".. Horaire local Date_Time = Conversion_Date(data.journeys[1].sections[1].arrival_date_time) local Horaire = tostring(tonumber(os.date("%H", Date_Time))) .. " heure ".. tostring(tonumber(os.date("%M", Date_Time))) local JourSemaine = josdGetJourSemaine(os.date("%w", Date_Time)) message = message .. " Arrivée à "..Horaire Trace("green", "Arrivée à " ..os.date("%H:%M", Date_Time)) Lbl_message = Lbl_message .." Arrivée à "..os.date("%H:%M", Date_Time) SetUI(VD_Id, "lblDep1", Lbl_message) -- Envoi d'un message sur l'enceinte SONOS if Msg_Sonos == "OUI" then Debug("grey", "Envoi Message sur enceinte SONOS") fibaro:startScene(SceneID_Sonos, {{msg = message}, {vol = Volume_Sonos}}) end else Trace("orange"," Attention : Aucunes données à traiter") end else Debug("grey","T6".." - "..Iti_Titre) Trace("yellow","Traitement ko : "..Iti_Titre) if response.status == 500 or response.status == 503 then Trace("orange","Erreur d'indisponibilité du serveur") else Trace("orange","Erreur requête serveur, response.status = "..response.status) end end end, error = function(err) Debug("grey","T7".." - "..Iti_Titre) Trace("orange","Erreur de reception de données, Erreur = ".. err) end }) end) if not(ok) then Trace("orange","Erreur dans l'exécution de fhttp:request(Query") end Debug("grey","T9".." - "..Iti_Titre) end function Start() Debug("grey","VD_Id="..VD_Id.." / Volume_Sonos="..Volume_Sonos.." / Msg_Sonos="..Msg_Sonos) -- test pour vérifier si le module virtuel exist ou pas local ip = fibaro:get(VD_Id, 'IPAddress') if ip == nil then Debug("orange","Warning : Le module virtuel : "..VD_Id.." n'existe pas. Vous devez le créer !") else -- Lancement du traitement de l'itinéraire GetData() end end ------------------------------------------------------------------------------- -- Begining off Scène ------------------------------------------------------------------------------- local params = fibaro:args() Trace("orange","Début de traitement de la scène") if (params) then for k, v in ipairs(params) do if (v.Iti_Titre) then Iti_Titre = v.Iti_Titre end if (v.code_api_to) then code_api_to = v.code_api_to end if (v.code_api_from) then code_api_from = v.code_api_from end if (v.Msg_Arrivee) then Msg_Arrivee = v.Msg_Arrivee end if (v.Msg_Depart) then Msg_Depart = v.Msg_Depart end if (v.Msg_Sonos) then Msg_Sonos = v.Msg_Sonos end if (v.Volume_Sonos) then Volume_Sonos = v.Volume_Sonos end if (v.VD_Id) then VD_Id = v.VD_Id end end Start() else Trace("orange","Erreur : Cette scène fonctionne par appel depuis un VD avec un passage de paramètres") end Trace("orange","Fin de traitement de la scène")
MAM78 Posté(e) le 10 juillet 2017 Auteur Signaler Posté(e) le 10 juillet 2017 (modifié) Une fois le VD et la scène chargée. Attention pour le moment, cela ne fonctionne que pour les lignes directes (donc, veuillez saisir comme destination la gare de votre premier changement, s'il y a changement) Vous rechercher les codes de votre station de départ et d'arrivée : en ayant préalablement sélectionné un type key "stop_points" suivi d'un clic sur ADD en saisissant le nom de votre station de départ, puis sélection de la ligne correspondant à votre station Copier/Coller du code dans la variable code_api_from du VD en saisissant le nom de votre station de destination Copier/Coller du code dans la variable code_api_to du VD Voir exemple ci-dessous : Modifié le 10 juillet 2017 par MAM78
minos Posté(e) le 11 juillet 2017 Signaler Posté(e) le 11 juillet 2017 Salut, je suis en train de tester avant partir au taff .... surtout avant d'aller choper mon train...... voilà ce que j'ai dans le debug...:
minos Posté(e) le 11 juillet 2017 Signaler Posté(e) le 11 juillet 2017 je verrai ce soir ...il manquait les " ". mais j 'ai pas d'actualisation dans le VD ... a suivre
MAM78 Posté(e) le 11 juillet 2017 Auteur Signaler Posté(e) le 11 juillet 2017 Attention, tu as modifié les codes de départ et d'arrivée dans la scène et par conséquent cassé son code LUA. Ce n'est plus la qu'il faut le faire. Comme indiqué dans mon précédent post c'est dans le VD qu'il convient de faire la modification. Seules les users variables doivent être modifiées. Cf. la ligne qui indique "Ne pas modifier le code ci-dessous"
minos Posté(e) le 11 juillet 2017 Signaler Posté(e) le 11 juillet 2017 Ok je regarderai ça ce soir. ..
minos Posté(e) le 11 juillet 2017 Signaler Posté(e) le 11 juillet 2017 Coucou , Grrrrrr ménerve !!!! toujours ce Pu.... de problème de token mais je comprends pourquoi il refuse !!!!!
MAM78 Posté(e) le 11 juillet 2017 Auteur Signaler Posté(e) le 11 juillet 2017 tu peux m'envoyer ton code Token en MP pour que je fasse un test je te promets de le détruire une fois le teste terminerattention de bien m'envoyer le code envoyer par mail par la SNCF
Messages recommandés