{"action":"created","issue":{"url":"https://api.github.com/repos/openhab/openhab2-addons/issues/586","labels_url":"https://api.github.com/repos/openhab/openhab2-addons/issues/586/labels{/name}","comments_url":"https://api.github.com/repos/openhab/openhab2-addons/issues/586/comments","events_url":"https://api.github.com/repos/openhab/openhab2-addons/issues/586/events","html_url":"https://github.com/openhab/openhab2-addons/pull/586","id":124208206,"number":586,"title":"Version 2 of the Netatmo Binding","user":{"login":"clinique","id":3328789,"avatar_url":"https://avatars.githubusercontent.com/u/3328789?v=3","gravatar_id":"","url":"https://api.github.com/users/clinique","html_url":"https://github.com/clinique","followers_url":"https://api.github.com/users/clinique/followers","following_url":"https://api.github.com/users/clinique/following{/other_user}","gists_url":"https://api.github.com/users/clinique/gists{/gist_id}","starred_url":"https://api.github.com/users/clinique/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clinique/subscriptions","organizations_url":"https://api.github.com/users/clinique/orgs","repos_url":"https://api.github.com/users/clinique/repos","events_url":"https://api.github.com/users/clinique/events{/privacy}","received_events_url":"https://api.github.com/users/clinique/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/openhab/openhab2-addons/labels/newbinding","name":"newbinding","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-12-29T13:04:39Z","updated_at":"2016-01-12T07:56:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openhab/openhab2-addons/pulls/586","html_url":"https://github.com/openhab/openhab2-addons/pull/586","diff_url":"https://github.com/openhab/openhab2-addons/pull/586.diff","patch_url":"https://github.com/openhab/openhab2-addons/pull/586.patch"},"body":"Signed-off-by: Gaël L'hopital <glhopital@gmail.com>\r\n\r\nThis new PR includes : \r\nAll known modules for Weather Station (inc. rain/wind)\r\nThermostat plug and module\r\n\r\nRemoved dependency to Jackson libs.\r\n"},"comment":{"url":"https://api.github.com/repos/openhab/openhab2-addons/issues/comments/170830816","html_url":"https://github.com/openhab/openhab2-addons/pull/586#issuecomment-170830816","issue_url":"https://api.github.com/repos/openhab/openhab2-addons/issues/586","id":170830816,"user":{"login":"jsiobj","id":2767956,"avatar_url":"https://avatars.githubusercontent.com/u/2767956?v=3","gravatar_id":"","url":"https://api.github.com/users/jsiobj","html_url":"https://github.com/jsiobj","followers_url":"https://api.github.com/users/jsiobj/followers","following_url":"https://api.github.com/users/jsiobj/following{/other_user}","gists_url":"https://api.github.com/users/jsiobj/gists{/gist_id}","starred_url":"https://api.github.com/users/jsiobj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsiobj/subscriptions","organizations_url":"https://api.github.com/users/jsiobj/orgs","repos_url":"https://api.github.com/users/jsiobj/repos","events_url":"https://api.github.com/users/jsiobj/events{/privacy}","received_events_url":"https://api.github.com/users/jsiobj/received_events","type":"User","site_admin":false},"created_at":"2016-01-12T07:56:14Z","updated_at":"2016-01-12T07:56:14Z","body":"Hello,\r\n\r\nAs suggested by Kai, I post my probelm here.\r\n\r\nI am currently trying the Netatmo v2 binding for the thermostat but I can't get it to work properly. \"Netatmo API\" and \"Thermostat module\" things are online but \"Thermostat relay/plug\" isn't.\r\n\r\nLooking at the logs I get this error : \r\n```\r\n2016-01-11 23:25:30.447 [ERROR] [b.n.h.thermostat.NAPlugHandler:40   ] - com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 1842 path $.body.devices[0].therm_program..program_id\r\n2016-01-11 23:25:30.449 [INFO ] [ome.event.ThingStatusInfoEvent:43   ] - 'netatmo:NAPlug:69d0ca96' updated: OFFLINE\r\n```\r\n\r\nIt seems that \"program_id\" isn't just a string but an object : \r\n```\r\n\"program_id\": {\r\n     \"$id\": \"whatever\"\r\n}\r\n```\r\nI could not figure out where in the code this is configured...\r\n\r\nAs a complement, from the logs, just before exception occurs, full json  returned on \"devicelist\" API call:\r\n```\r\n{\r\n   \"body\": {\r\n      \"modules\": [\r\n         {\r\n            \"_id\": \"xx:xx:xx:xx:xx:xx\",\r\n            \"main_device\": \"yy:yy:yy:y:yy:yy\",\r\n            \"module_name\": \"Thermostat\",\r\n            \"type\": \"NATherm1\",\r\n            \"firmware\": 36,\r\n            \"last_message\": 1452446915,\r\n            \"last_seen\": 1452446915,\r\n            \"rf_status\": 45,\r\n            \"battery_vp\": 4047,\r\n            \"therm_orientation\": 2,\r\n            \"therm_relay_cmd\": 0,\r\n            \"dashboard_data\": {\r\n               \"time_utc\": 1452446528,\r\n               \"device_id\": 20.5,\r\n               \"BoilerOn\": 129,\r\n               \"BoilerOff\": 473,\r\n               \"Temperature\": 20.5,\r\n               \"date_max_temp\": 1452418325,\r\n               \"date_min_temp\": 1452408042,\r\n               \"min_temp\": 18.8,\r\n               \"max_temp\": 20.6\r\n            },\r\n            \"data_type\": [\r\n               \"Temperature\",\r\n               \"BoilerOn\",\r\n               \"BoilerOff\",\r\n               \"Sp_temperature\"\r\n            ]\r\n         }\r\n      ],\r\n      \"devices\": [\r\n         {\r\n            \"_id\": \"yy:yy:yy:y:yy:yy\",\r\n            \"cipher_id\": \"zzzzzzzzzzzzzzzzzzzzzzzzzzz\",\r\n            \"date_setup\": {\r\n               \"sec\": 1395519273,\r\n               \"usec\": 103000\r\n            },\r\n            \"firmware\": 48,\r\n            \"heating_system\": {\r\n               \"heating_energy\": \"gas\",\r\n               \"heating_system_window_seen\": true,\r\n               \"home_size\": 55,\r\n               \"home_type\": \"flat\"\r\n            },\r\n            \"hw_version\": 253,\r\n            \"last_status_store\": 1452446923,\r\n            \"last_upgrade\": 1440071197,\r\n            \"modules\": [\r\n               \"xx:xx:xx:xx:xx:xx\"\r\n            ],\r\n            \"place\": {\r\n               \"altitude\": 59,\r\n               \"city\": \"Paris\",\r\n               \"country\": \"FR\",\r\n               \"improveLocProposed\": true,\r\n               \"location\": [\r\n                  1.1,\r\n                  2.2\r\n               ],\r\n               \"timezone\": \"Europe/Paris\"\r\n            },\r\n            \"setpoint\": [],\r\n            \"setpoint_order\": {\r\n               \"xx:xx:xx:xx:xx:xx\": []\r\n            },\r\n            \"station_name\": \"myStation\",\r\n            \"therm_program\": {\r\n               \"xx:xx:xx:xx:xx:xx\": {\r\n                  \"zones\": [\r\n                     {\r\n                        \"type\": 0,\r\n                        \"name\": \"Confort\",\r\n                        \"temp\": 20.5,\r\n                        \"id\": 0\r\n                     },\r\n                     {\r\n                        \"type\": 1,\r\n                        \"name\": \"Nuit\",\r\n                        \"temp\": 18,\r\n                        \"id\": 1\r\n                     },\r\n                     {\r\n                        \"type\": 2,\r\n                        \"name\": \"Absent\",\r\n                        \"temp\": 15,\r\n                        \"id\": 2\r\n                     },\r\n                     {\r\n                        \"type\": 3,\r\n                        \"name\": \"Hors-gel\",\r\n                        \"temp\": 7,\r\n                        \"id\": 3\r\n                     }\r\n                  ],\r\n                  \"timetable\": [\r\n                     {\r\n                        \"id\": 1,\r\n                        \"m_offset\": 0\r\n                     },\r\n                     {\r\n                        \"id\": 0,\r\n                        \"m_offset\": 720\r\n                     },\r\n                     {\r\n                        \"id\": 1,\r\n                        \"m_offset\": 840\r\n                     },\r\n                     {\r\n                        \"id\": 0,\r\n                        \"m_offset\": 1110\r\n                     },\r\n                     {\r\n                        \"id\": 1,\r\n                        \"m_offset\": 1410\r\n                     },\r\n                     {\r\n                        \"id\": 0,\r\n                        \"m_offset\": 2550\r\n                     },\r\n                     {\r\n                        \"id\": 1,\r\n                        \"m_offset\": 2850\r\n                     },\r\n                     {\r\n                        \"id\": 0,\r\n                        \"m_offset\": 3990\r\n                     },\r\n                     {\r\n                        \"id\": 1,\r\n                        \"m_offset\": 4290\r\n                     },\r\n                     {\r\n                        \"id\": 0,\r\n                        \"m_offset\": 5430\r\n                     },\r\n                     {\r\n                        \"id\": 1,\r\n                        \"m_offset\": 5730\r\n                     },\r\n                     {\r\n                        \"id\": 0,\r\n                        \"m_offset\": 6870\r\n                     },\r\n                     {\r\n                        \"id\": 1,\r\n                        \"m_offset\": 7170\r\n                     },\r\n                     {\r\n                        \"id\": 0,\r\n                        \"m_offset\": 7770\r\n                     },\r\n                     {\r\n                        \"id\": 1,\r\n                        \"m_offset\": 8610\r\n                     },\r\n                     {\r\n                        \"id\": 0,\r\n                        \"m_offset\": 9210\r\n                     },\r\n                     {\r\n                        \"id\": 1,\r\n                        \"m_offset\": 10050\r\n                     }\r\n                  ],\r\n                  \"program_id\": {\r\n                     \"$id\": \"whatever\"\r\n                  },\r\n                  \"name\": \"Standard\"\r\n               }\r\n            },\r\n            \"therm_program_order\": {\r\n               \"xx:xx:xx:xx:xx:xx\": []\r\n            },\r\n            \"type\": \"NAPlug\",\r\n            \"udp_conn\": true,\r\n            \"wifi_status\": 58,\r\n            \"data_type\": []\r\n         }\r\n      ]\r\n   },\r\n   \"status\": \"ok\",\r\n   \"time_exec\": 0.02059102,\r\n   \"time_server\": 1452448460\r\n}\r\n```\r\n\r\nThank you for your help\r\nJean-Sébastien"}}