Code Monkey home page Code Monkey logo

homebridge-netatmo's Introduction

Build Status downloads Like this? Please buy me a beer ... Donate

⚠️ Currently this project is no longer actively maintained. In case you are willing to maintain this project, please contact me or open an issue.

homebridge-netatmo

This is a plugin for homebridge. It's a working implementation for several netatmo devices:

  • netatmo weather station
  • netatmo thermostat
  • netatmo welcome

Please check notes on devices below for detailed information on supported modules.

Installation

  1. Install homebridge using: npm install -g homebridge
  2. Install this plugin using: npm install -g homebridge-netatmo
  3. Update your configuration file. See sample-config.json in this repository for a sample.

Configuration

Simple Configuration

Configuration sample:

"platforms": [
        {
            "platform": "netatmo",
            "name": "netatmo platform",
            "ttl": 10,
            "auth": {
    	        "client_id": "XXXXX Create at https://dev.netatmo.com/",
                "client_secret": "XXXXX Create at https://dev.netatmo.com/",
                "username": "your netatmo username",
                "password": "your netatmo password"
            }
        }
    ],

To retrieve client id and secret please follow following guide:

  1. Register at http://dev.netatmo.com as a developer
  2. After successful registration create your own app by using the menu entry "CREATE AN APP"
  3. On the following page, enter a name for your app. Any name can be chosen. All other fields of the form (like callback url, etc.) can be left blank.
  4. After successfully submitting the form the overview page of your app should show client id and secret.

Advanced Configuration

There are some optional configuration options in the netatmo section of the config which provide finer control about what device and services to use to create accessories.

API Refresh and timings

Communication towards netatmo API is time by three parameters:

ttl
Time in seconds, how long data will be kept in the internal cache. Mainly useful to avoide duplicated requests for different values from the same device. Defaults to 10 seconds if left out in config.
refresh_check
Time in milliseconds, how often the api will be automatically polled to check for changes. Defaults to 900000 which is 15 Minutes. Do not take values much lower, or you risk, that you put to much traffic to the netatmo API. In worst case netatmo might temporarilly exclude your app from the api.
refresh_run
Time in milliseconds, how often the the module checks if there was a request to refresh the data, either from the automatic polling or due to changes in the homekit app. This allows to have regular checks as well as refreshes after changes were done in the app. Defaults to 20000 which is 20 Seconds.
    "platforms": [
        {
            "platform": "netatmo",
            
            ...
            
			  "ttl": 10,
			  "refresh_check": 900000
			  "refresh_run": 20000
            ...
            
        }
    ],

Control Accessories by device type

    "platforms": [
        {
            "platform": "netatmo",
            
            ...
            
            "deviceTypes": [
              "weatherstation",
              "thermostat",
              "camera"
            ],

            ...
            
        }
    ],

This allows you to include/exclude devices of a certain type in your accessories. The device types marked bold are the default types, if this config section is left out.

Please note, that welcome support is by default switched off, since it is not fully implemented yet.

Control Accessories by device ID

Controlling devices can be done pn a finer level by id. The id of a netatmo device or module basically is it's mac address.

In order to include or exclude a specific device, the corresponding id can be included in a whitelist resp. blacklist.

If the whitelist contains at least one entry, all oter ids will be excluded.

    "platforms": [
        {
            "platform": "netatmo",
            
            ...
            
            "whitelist": [
              "aa:bb:cc:11:22:33"
            ],
            "blacklist": [
              "01:02:03:04:05:06",
              "01:23:45:67:89:ab"
            ],

            ...
            
        }
    ],

Control Services

TBD (Needs description here)

# Notes on devices

Weather station

The indoor module and outdoor module are fully supported. The rain gauge and the wind gauge are in general supported, but these devices use characteristics, which are not supported by the home app.

For this reason the home app shows the devices as not supported. If you want to use this devices you should consider to use a different homekit app. For example elgato's eve app is a good free alternative.

Thermostat

The thermostat is fully supported. There are a few things to know:

  • The allowed temperature ranges differ between netatmo themostat and apple home app. This results in a narrower range of possible temperatures.
  • Mapping of Temperature Modes between netatmo and apple is done as good as possible, but might be slightly confusing under certain conditions.
  • After setting a temperature, the thermostat might return to automatic mode. Check your netatmo settings.

Cameras (Welcome and Presence)

The camera devices are currently only supported as simple motion sensors. Motion detection might be delayed, since the polling is required an netatmo has strict request rate limits.

Any events of Type "movement", "person" and "outdoor" will be considered as a motion.

This implementation will most likely be refactored in future.

#FAQ

##My rain/wind gauge shows up as not supported This is due to limmited support of the home app. Try to use a different homekit app. Check notes on devices for further info.

##I only get notifications when home app is opened This themes to ba an issue with ios and hap lib. There is nothing I can do about it. Possible you should check the hombridge ifttt plugin with pushover app for notifications.

##Updates of vlaues are delayed This is due to rate limits from netatmo. If polling rate is increased your account might get blocked by netatmo

##netatmo authentication failes Please recheck your config settings and your netatmo account. Sometimes the used netatmo API seems to have connection problems. Often a reload is enough

##Things are messed up. How do I start from scratch? In short:

  • stop homebridge.
  • reset your homekit config on the phone (delete the Home in home app).
  • remove the .hombridge/persist folder
  • check the .hombridge/config file
  • start homebridge

##This is cool, how can I support? If you like this, your welcome to give a small donation. Check button at top/bottom of page. If you like to join development check the sources, open issues and pull requests. Thanx!

Changes

0.2.1

  • JSHint code checks
  • Configurable API Timing
  • Changed default request ratio to 1 per 15 minutes

0.2.0

  • Version 0.2.0 is a complete refactoring, some config changes might be required
  • thermostat implementation is now supported in "home" App
  • Regular polling for updates (Trying to be nice to the API, so update may take a while to be seen on the phone)
  • Fully refactored, cleaner classes
  • renamed "welcome" devices to "camera"
  • support for "presence" devices
  • new motion detection
  • Using ES6
  • new homekit 0.4
  • netatmo API update
  • new logging API

Development

Following information is not relevant for users who just want to access netatmo via homekit. It is intented for software developers who want to modify / enhance the functionality of the software.

Terms

Device
A device in this context is a netatmo hadware device.
Device Type
Describes the type of the netatmo device i.e. weatherstation, thermostat or welcome.
Module
Some devices contain several modules (e.g. weatherstation: main module, rain gauge, outside module, wind gauge). A device or module results in an accessory

Concepts

New deviceTypes should be put into the /devices folder. It might be helpful to use the existing deviceTypess as template and to inherit the NetatmoDevice. Each device provides one or more accessories which provide one or more services.

Services are defined inside the /services folder. The naming convention is, that a service source code file starts with the device name.

The default set of devices and services that are used is the one which resulted from earlier versions.

Please see Chapter Advanced Configuration on details about how to add a device or a service.

Mock API & Testing

New features should be developed with a test scenario. Tests are executed via travis-ci or npm test.

For debugging and test purposes the software contains a support for a mock netatmo api.

The mock-api is activate by putting a

mockapi: "name"

into the netatmo section of the config file.

When activated there will be no calls to the netatmo API. Instead raw json data is read from file located in the /mockapi_calls folder.

The file name is [apimethod]-[name].json where

  • [apimethod] is the name of the netatmo method to be called (e.g. getstationsdata )
  • [name] is the name given in the config file (e.g. wind)

If this file is not found a [apimethod]-default.json file is read. If this is not found as well, empty data is returned.

TODO / Next Features

Following things are to be developed next.

  • static code checks
  • release management
  • recheck thermostat ranges
  • enhance support for netatmo welcome (images?, callbacks?,)
  • complete tests (config, unit tests, devices)
  • add optional eve services including history data
  • recheck temperature units (Celsius - Fahrenheit)
  • support for min/max temperature
  • add Radio Link Quality characteristic
  • I18N for service and accessory names (config)
  • add SoftwareRevision characteristic -> plugin version
  • log callbacks with error != null
  • Review all //TODO comments from sources
  • document extended config (switch on/off devices/services)
  • fix env/tests
  • names in config
  • trigger switches (-> pushover, enigma, virtual switch for scenes -> push)

Is this plugin useful for you? Please buy me a beer ... Donate

Thank you for buying me a beer to follwing users:
  • 2016-07-18: Samuel J.
  • 2016-09-03: Alexis A.
  • 2016-09-16: Sylvain D.
  • 2016-11-01: Sebastian K.
  • 2016-11-04: Frank H.
  • 2017-02-25: Peter B.

homebridge-netatmo's People

Contributors

marcuspocus avatar patricks avatar planetk avatar skrollme avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-netatmo's Issues

rain sensor problem

my rain sensor in homkit only show loading of the battery level. not the rain level. how to fix it?

Problem loading accessorie

Hi, I try today your pluggin and I've got this issue :

`[6/22/2016, 4:17:38 PM] Loaded plugin: homebridge-netatmo
[6/22/2016, 4:17:38 PM] Registering platform 'homebridge-netatmo.netatmo'
[6/22/2016, 4:17:38 PM] ---
[6/22/2016, 4:17:38 PM] Loaded config.json with 1 accessories and 1 platforms.
[6/22/2016, 4:17:38 PM] ---
[6/22/2016, 4:17:38 PM] Loading 1 platforms...
[6/22/2016, 4:17:38 PM] [netatmo weather] Initializing netatmo platform...
[6/22/2016, 4:17:38 PM] Loading 1 accessories...
/usr/local/lib/node_modules/homebridge/lib/api.js:46
if (name.indexOf('.') == -1) {
^

TypeError: Cannot read property 'indexOf' of undefined
at API.accessory (/usr/local/lib/node_modules/homebridge/lib/api.js:46:11)
at Server._loadAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:233:42)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:72:38)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)`

Do you have an idea ?

Weatherstation battery level

Hello, first, sorry for my english...

I'm using homekit and I would like to know is there is a way to add the exterior wheatherstation battery level as accessory in homekit?

I see all the measurement of temperature, humidity, etc.. but not the battery level.

Merci

New Version throws errors

I was working fine but updated the plugin this morning. Now I get this. Probably due to wind gauge I have. Any suggestions. For now I will pull the netatmo from my config.jsn until we figure this out.

ReferenceError: gustSensor is not defined
at module.exports (/usr/local/lib/node_modules/homebridge-netatmo/services/weatherstation-wind-legacy.js:120:3)
at new WeatherStationAccessory (/usr/local/lib/node_modules/homebridge-netatmo/devices/weatherstation.js:58:83)
at . (/usr/local/lib/node_modules/homebridge-netatmo/devices/weatherstation.js:135:22)
at . (/usr/local/lib/node_modules/homebridge-netatmo/devices/weatherstation.js:125:5)
at . (/usr/local/lib/node_modules/homebridge-netatmo/node_modules/netatmo/netatmo.js:325:14)
at Request.self.callback (/usr/local/lib/node_modules/homebridge-netatmo/node_modules/request/request.js:187:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request. (/usr/local/lib/node_modules/homebridge-netatmo/node_modules/request/request.js:1044:10)
at emitOne (events.js:96:13)

Home App Error

HI,

I have a problem.

Somtime, when I open my HOME app, I receive not available for all HomeKit Accessory. If I retry all works fine.
I have this problem if I configure netamo plugin: if I remove it all work fine ever.

Homebridge Log doesn't write any error.

SyntaxError: Unexpected identifier

I'm getting the following error with homebridge 0.3.4 on Linux raspberrypi 4.4.13-v7+ #894 SMP Mon Jun 13 13:13:27 BST 2016 armv7l GNU/Linux

/usr/lib/node_modules/homebridge-netatmo/index.js:261
      for (var device of devices) {
                      ^^
[Sun Jul 10 2016 01:16:19 GMT+1000 (AEST)] ====================
[Sun Jul 10 2016 01:16:19 GMT+1000 (AEST)] ERROR LOADING PLUGIN homebridge-netatmo:
[Sun Jul 10 2016 01:16:19 GMT+1000 (AEST)] SyntaxError: Unexpected identifier
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Plugin.load (/usr/lib/node_modules/homebridge/lib/plugin.js:65:22)
    at Server.<anonymous> (/usr/lib/node_modules/homebridge/lib/server.js:112:14)
    at Array.forEach (native)
    at Server._loadPlugins (/usr/lib/node_modules/homebridge/lib/server.js:108:22)
[Sun Jul 10 2016 01:16:19 GMT+1000 (AEST)] ====================

Netatmo Error

HI,

I upadated the plugin. It works fine until yesterday.
Todai I have this error:

[2017-02-05 11:09:17] [netatmo platform] WARN - Netatmo: Error: getStationsDataError error: No response
[2017-02-05 11:09:17] [netatmo platform] WARN - Netatmo: Error: getStationsDataError error: No response
[2017-02-05 11:09:17] [netatmo platform] WARN - Netatmo: Error: getStationsDataError error: No response
[2017-02-05 11:09:17] [netatmo platform] WARN - Netatmo: Error: getStationsDataError error: No response
[2017-02-05 11:09:17] [netatmo platform] WARN - Netatmo: Error: getStationsDataError error: No response
[2017-02-05 11:09:17] [netatmo platform] WARN - Netatmo: Error: getStationsDataError error: No response
[2017-02-05 11:09:18] [Dirti] Roomba is not running
[2017-02-05 11:09:18] [netatmo platform] WARN - Netatmo: Error: getStationsDataError error: No response
[2017-02-05 11:09:20] [netatmo platform] WARN - Netatmo: Error: getThermostatsDataError error: No response
[2017-02-05 11:09:24] [netatmo platform] WARN - Netatmo: Error: getHomeData error: No response
[2017-02-05 11:09:33] [netatmo platform] WARN - Netatmo: Error: getStationsDataError error: No response

Netatmo official app and Web interface work fine

Welcome Support

Hi... at first thank for the great Job....

I own a Netatmo Welcome Cam and I am so currious to integrate it in homebridge...

When do you release the support of this Netatmo module ?

Support for Netatmo Presence

Hi,

Can you please confirm if you plan to add support for Netatmo Presence? I own one, so I'd be glad to help you test :)

Cheers,
Nick

Siri | other languages

Hello Stefan,

to mix German Siri with English names is causing troubles to recognize the „order“ …

Is or will it be possible to setup the names via config.json, too ?

An example form the homebridge-knx plugin:

  {
        "platform" : "KNX",
        "name": "KNX",
        "knxd_ip": „10.x.x.x",
        "knxd_port": 6720,
        "knxd_do_not_read_set_groups": true,
        "accessories":
        [
            {
                "accessory_type": "knxdevice",
                "name": "Wohnküche",
                "services":
                [
                    {
                        "type": "Lightbulb",
                        "description": „Küche Pendelleuchte",
                        "name": "Küche",
                        "On": { "Set": "5/1/0", "Listen": ["5/1/4"] },
                        "Brightness": { "Set": "5/1/3", "Listen": ["5/1/5"] }
                    },
                    {
                        "type": "Lightbulb",
                        "description": "Esstisch Pendelleuchte",
                        "name": "Tisch",
                        "On": { "Set": "1/1/21", "Listen": ["1/1/24"] },
                        "Brightness": { "Set": "1/1/23", "Listen": ["1/1/25"] }
                    },
                    {
                        "type": "Lightbulb",
                        "description": "Sofa Pendelleuchte",
                        "name": "Sofa",
                        "On": { "Set": "1/1/1", "Listen": ["1/1/4"] },
                        "Brightness": { "Set": "1/1/3", "Listen": ["1/1/5"] }
                    },
                    {
                        "type": "Lightbulb",
                        "description": "Coutch Stehlampe",
                        "name": "Kugel",
                        "On": { "Set": "1/1/241", "Listen": ["1/1/244"] },
                        "Brightness": { "Set": "1/1/243", "Listen": ["1/1/245"] }
                    },
                    {
                        "type": "Outlet",
                        "description": "Steckdose Kaffee",
                        "name": "Kaffee",
                        "On": { "Set": "2/2/18", "Listen": ["2/2/23"] }
                    },
                    {
                        "type": "Outlet",
                        "description": "Steckdose Mikrowelle",
                        "name": "Mikro",
                        "On": { "Set": "2/2/0", "Listen": ["2/2/5"] }
                    },
                    {
                        "type": "TemperatureSensor",
                        "description": "Temperatursensor TS3 Küche",
                        "name": "Küchentemperatur",
                        "CurrentTemperature": { "Listen": ["0/3/4"] }
                    },
                    {
                        "type": "TemperatureSensor",
                        "description": "Temperatursensor TS3 Wohnküche",
                        "name": "Wohnzimmertemperatur",
                        "CurrentTemperature": { "Listen": ["0/3/8"] }
                    }
                ]
            }
        ]

Thank you in advance for your opinion / replay :-) !!
Dariusz

Cannot add a bridged Accessory with the same UUID as another bridged Accessory: " + existing.UUID

Hi there.
Somehow I messed up my homebridge. Don't know how. So I deinstalled all plugins, even homebridge itself. Now I'm installing one plugin after another. i.e. sudo npm install -g homebridge-netatmo
The most installed without any problem, some showed me an error. Other after starting homebridge.
So first..
This happens during installation of homebridge-nest
Does somebody know how I can fix ERR! code 128 npm ERR! Command failed
I already installed sudo apt-get install git make

Another problem I'm facing ist with homebridge-netatmo
Installation worked well. But when starting homebridge I get the UUID problem.
I changed the config.json with another username after I deinstalled in the first step homebridge, plugins and then reinstalled. I build the "new" config.json.
How do I get rid of this UUID error? In the config is "platform": "netatmo", "name": "netatmo weather"
Changing this was not helpful. Also I deleted /home/pi/.homebridge the folders persist and accessories without and success.

Thanks in advance to somebody who is willing to support me with this problems and is patient with me. ;) I'm a bit desperate at the moment.

[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'Deutschherrnufer Wohnzimmer'...
[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'Deutschherrnufer Schlafzimmer'...
[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'Deutschherrnufer Wintergarten'...
[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'Deutschherrnufer Balkon'...
[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'Deutschherrnufer Außen'...
[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'BrownLeder Küche'...
[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'BrownLeder Terasse'...
[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'BrownLeder Wohnzimmer'...
[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'BrownLeder Schlafzimmer'...
[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'Thermostat'...
[2017-6-3 00:21:48] [netatmo weather] Initializing platform accessory 'Thermostat'...
/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:228
throw new Error("Cannot add a bridged Accessory with the same UUID as another bridged Accessory: " + existing.UUID);
^

Error: Cannot add a bridged Accessory with the same UUID as another bridged Accessory: bfb776c7-bc35-44df-8750-93a0075f6b78
at Bridge.Accessory.addBridgedAccessory (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:228:13)
at Server. (/usr/local/lib/node_modules/homebridge/lib/server.js:367:24)
at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/once.js:16:19
at NetatmoPlatform. (/usr/local/lib/node_modules/homebridge-netatmo/index.js:56:7)
at /usr/local/lib/node_modules/homebridge-netatmo/node_modules/async/dist/async.js:3679:13
at /usr/local/lib/node_modules/homebridge-netatmo/node_modules/async/dist/async.js:952:25
at iteratorCallback (/usr/local/lib/node_modules/homebridge-netatmo/node_modules/async/dist/async.js:997:17)
at /usr/local/lib/node_modules/homebridge-netatmo/node_modules/async/dist/async.js:847:20
at /usr/local/lib/node_modules/homebridge-netatmo/node_modules/async/dist/async.js:3676:17
at /usr/local/lib/node_modules/homebridge-netatmo/node_modules/async/dist/async.js:339:31
at /usr/local/lib/node_modules/homebridge-netatmo/index.js:71:13
at WeatherstationDeviceType.buildAccessories (/usr/local/lib/node_modules/homebridge-netatmo/lib/netatmo-device.js:114:5)
at WeatherstationDeviceType. (/usr/local/lib/node_modules/homebridge-netatmo/lib/netatmo-device.js:55:14)
at WeatherstationDeviceType. (/usr/local/lib/node_modules/homebridge-netatmo/lib/netatmo-device.js:69:13)
at WeatherstationDeviceType. (/usr/local/lib/node_modules/homebridge-netatmo/device/weatherstation-device.js:38:9)
at netatmo. (/usr/local/lib/node_modules/homebridge-netatmo/node_modules/netatmo/netatmo.js:227:14)

How to change the name of the weather stations ?

Hi !

After fixing the problem with the config.json I got another question. How can I change the name of the weather Station ? Im living not in Paris :-)

Im quite new to this material, so sorry for some stupid questions.

Chris

Endless loop "Sending HTTP event" with temperature characteristics

Hallo,

my Homebridge installation on RaspBerry with "Jessie" runs into an "endless loop" and stopps
with a FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory.

After restarting the process it works for some hours, than the error occurs again.
It's a fresh installation from this week, using NodeJS: v6.9.5.

Sat, 11 Feb 2017 01:55:19 GMT HAPServer [CC:22:3D:E3:CE:30] HAP Request: PUT /characteristics
Sat, 11 Feb 2017 01:55:19 GMT Accessory [Homebridge] Processing characteristic set: [{"aid":22,"iid":9,"value":1}]
Sat, 11 Feb 2017 01:55:19 GMT Accessory [Homebridge] Setting Characteristic "On" to value 1
Sat, 11 Feb 2017 01:55:19 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":1}]}
Sat, 11 Feb 2017 01:55:19 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] Muting event '22.9' notification for this connection since it originated here.
Sat, 11 Feb 2017 01:55:19 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] HTTP Response is finished
Sat, 11 Feb 2017 01:55:20 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] HTTP request: /characteristics
Sat, 11 Feb 2017 01:55:20 GMT HAPServer [CC:22:3D:E3:CE:30] HAP Request: PUT /characteristics
Sat, 11 Feb 2017 01:55:20 GMT Accessory [Homebridge] Processing characteristic set: [{"aid":22,"iid":9,"value":0}]
Sat, 11 Feb 2017 01:55:20 GMT Accessory [Homebridge] Setting Characteristic "On" to value 0
Sat, 11 Feb 2017 01:55:20 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":0}]}
Sat, 11 Feb 2017 01:55:20 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] Muting event '22.9' notification for this connection since it originated here.
Sat, 11 Feb 2017 01:55:20 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] HTTP Response is finished
...
... toggling between true and false, notifing 2 devices..
..
Sat, 11 Feb 2017 01:55:20 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":true}]}
Sat, 11 Feb 2017 01:55:20 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":true}]}
Sat, 11 Feb 2017 01:55:21 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":false}]}
Sat, 11 Feb 2017 01:55:21 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":false}]}
Sat, 11 Feb 2017 01:55:21 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":true}]}
Sat, 11 Feb 2017 01:55:21 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":true}]}
Sat, 11 Feb 2017 01:55:22 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":false}]}
Sat, 11 Feb 2017 01:55:22 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":false}]}
...
Sat, 11 Feb 2017 02:02:26 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":true}]}
Sat, 11 Feb 2017 02:02:26 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":true}]}
Sat, 11 Feb 2017 02:02:27 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":false}]}
Sat, 11 Feb 2017 02:02:27 GMT EventedHTTPServer [xxx.xxx.xxx.yyy] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":false}]}
...
after switching one device in flightmode...
...
Sat, 11 Feb 2017 02:46:12 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":false}]}
Sat, 11 Feb 2017 02:46:13 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":true}]}
Sat, 11 Feb 2017 02:46:13 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":false}]}
Sat, 11 Feb 2017 02:46:14 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":true}]}
...
Sat, 11 Feb 2017 02:54:54 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":true}]}
Sat, 11 Feb 2017 02:56:36 GMT EventedHTTPServer [xxx.xxx.xxx.xxx] Sending HTTP event '22.9' with data: {"characteristics":[{"aid":22,"iid":9,"value":false}]}
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

Retry on "No Response API error"

After I restart my Raspberry Pi, sometimes this error occurs in the Homebridge logs [9/17/2016, 4:17:39 PM] [Netatmo weather] ERROR - Netatmo: Error: Authenticate error: No response.
I don't know what causes this error.
Homebridge does not work until I restart the service manually.

There should be some sort of retry mechanism. I could of course observe the logs and restart the service in the event of this specific log line, but wouldn't it be better, if the service (homebridge-netatmo) tries to reconnect itself? Or do you see this functionality in netatmo.js?

Error connecting Netatmo to Homebridge

Hey planetK,
I have set up the Raspberry Pi and Homebridge so that is working fine, without having connected any devices like the Netatmo.
Then I installed the homebridge-netatmo and added the mentioned lines of code to the config file - all keys are correct and no typos.
When I trigger a restart of Homebridge I get this error in the terminal and I do not know what I have done wrong.

[2017-02-23 22:28:41] Loading 1 platforms...
/usr/local/lib/node_modules/homebridge/lib/api.js:118
throw new Error("The requested platform '" + name + "' was not registered by any plugin.");
^

Error: The requested platform 'netatmo' was not registered by any plugin.
at API.platform (/usr/local/lib/node_modules/homebridge/lib/api.js:118:13)
at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:284:45)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:80:36)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)

Can you help?
Thanks in advance,
Johannes

Carbon Dioxid

The carbon dioxid icon does not show the ppm, you have to click on details to see the value! is there a fix?

Weather-Station not visible in EVE App ...

I installed the homebridge on my MacBook … should works fine - I see the homebridge in EVE but I do not see the plug-in :-(

The plugin was installed with: sudo npm install -g homebridge-netatmo
It is installed together with the homebridge itself + the plugin „homebridge-knx“ under: /usr/local/lib/node_modules/

The config.json:
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:40",
"port": 51826,
"pin": "031-45-154"
},
"description": "This is a configuration file.",
"accessories": [
{
"accessory": "WeMo",
"name": "Coffee Maker"
}
],
"platforms": [
{
"platform": "netatmo",
"name": "NETATMO",
"ttl": 5,
"auth": {
"client_id": „579 … 8df",
"client_secret": „E ... Szav",
"username": „email",
"password": „password"
}
},
{
"platform" : "KNX",
"name": "KNX",
"knxd_ip": "10.0.100.8",
"knxd_port": 6720,
"knxd_do_not_read_set_groups": true,
"accessories": [
{
"name": "WK eldoLED",
"services": [
{
"type": "Lightbulb",
"description": "Beleuchtung in der Kuchl",
"name": "WK eldoLED",
"On": {
"Set": "5/1/0",
"Listen": ["5/1/4"]
},
"Brightness": {
"Set": "5/1/3",
"Listen": ["5/1/5"]
}
}
]
}
]
}
]
}

No netatmo thermostat detected

Hi,

After the dick-move from netatmo of introducing the new model of netatmo thermostat that is directly homekit compatibile, I have been left with the older device that is not compatibile. I've been quite excited to see that you have added (partial) netatmo thermostat to your plugin, however my log does not show anything related to netatmo thermostat, it just detects adn registers all modules for netatmo weather station. Any ideas ?

[Request] Enable/Disable multiple Netatmo

Hello,

Thank you for your amazing plugin for homebridge :)
The only problem I have with the plugin right now is that it shows all Netatmo weatherstations in Homebridge/kit, so also those of our friends. Is it possible in some way to restrict only showing your own weatherstation or something?

Thank you :)

Background polling for better response times

First of all thanks for this great plugin so far. It was a plug&play solution for me, as a non-nodeJS dev ;)
But back to topic:
This "issue" is more a feature-suggestion/idea than an issue.
I'm often facing the problem, that the Home.app does not display my Netatmo's data but when I simultaneously look into the homebridge log, I see the netatmo fetching logs succeeding.
Another fetch 1-2 minutes later (within the configured TTL) succeeds instantly.

So I came up with the idea of switching to an continuously running background fetch for netatmo's data to answer the Homekit request faster.

Have you thought about it before? Any possible disadvantages? Maybe Netatmo-API-Limitations?

white/blacklist

Hi!

Whether white- nor blacklist seem to be working, I can put either and still all devices show up. (the other devices are 'connected' to my account, not actual my devices, but I guess that can't be the problem because the whitelist should block 'everything' not listed anyway?

netatmo welcome module

hi

since homekit in ios 10 now supporting camera, is it possible to add netatmo welcome module 😃

Air quality

I have some air quality sensors listed in the Eve App but if I ask Siri to tell me the air quality she says there are no air quality sensors.

netatmo thermostat support

Hi!

I've trying to control (or at least to get information from thermostat) in home.app, but unfortunately it's displayed as "unsupported". Log file looks like this:

[12/26/2016, 12:00:05 AM] [netatmo platform] refreshing thermostat device 70:ee:50:06:68:3c (blokhuis)
[12/26/2016, 12:00:05 AM] [netatmo platform] refreshing weatherstation device 70:ee:50:13:15:7c (blokhuis indoor-living-room)
[12/26/2016, 12:00:05 AM] [netatmo platform] refreshing weatherstation module 03:00:00:03:5d:fe (blokhuis Indoor-master-bedroom)
[12/26/2016, 12:00:05 AM] [netatmo platform] refreshing weatherstation module 02:00:00:12:fd:16 (blokhuis outdoor-module)
[12/26/2016, 12:00:05 AM] [netatmo platform] refreshing weatherstation module 05:00:00:03:5b:da (blokhuis garden-rain)
[12/26/2016, 12:00:05 AM] [netatmo platform] refreshing weatherstation module 06:00:00:02:41:1a (blokhuis garden-wind)

could you please clarify, is it a bug or it's working as designed? ;)

HomeKit App tells me "not supported" for all Netatmo devices since update...

Hi there,

Since updating the netatmo plugin for home bridge on my Raspberry Pi my HomeKit App (iOS 10 beta) tells me, that the Netatmo devices are not supported...

Then I updated Node.js from v4.0.0 to v4.4.7 - but no luck.

When trying to reinstall the Netatmo Plugin I am getting this messages:

pi@raspberrypi:~ $ sudo npm install -g homebridge-netatmo
npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/read-installed/node_modules/readdir-scoped-modules requires graceful-fs@'^4.1.2' but will load
npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/read-installed/node_modules/graceful-fs,
npm WARN unmet dependency which is version 3.0.8
[email protected] /usr/local/lib/node_modules/homebridge-netatmo
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected])
└── [email protected] ([email protected])

What to do?

Thanks!

Crady

Problem with netatmo Plugin in Docker

Hello

Im new here to hombridge. Im try tu use Docker Image with the netamo plugin. Can somone Check my Configuration files?

`

{
	"bridge": {
		"name": "Homebridge",
		"username": "CC:22:33:11:EE:77",
		"port": 51825,
		"pin": "012-34-567"
	},



  "platforms": [
		{
      "platform": "netatmo",
      "deviceTypes": ["weatherstation"],
      "name": "netatmo platform",
      "ttl": 5,
      "auth": {
      "client_id": "5904b6c1ea00a0396a8b56d9",
      "client_secret": "gmNqcsoA49XIY330ZoUmFvoM0WXKXDLfNfypcXymXJZSU",
      "username": "[email protected]",
      "password": "yyy"
  }

    }

],

	"accessories": [

		{
			"accessory": "Synology",
			"name": "Diskstation",
			"ip": "192.168.178.26",
			"mac": "00:11:32:61:0B:F5",
			"port": "5000",
			"secure": false,
			"account": "admin",
			"password": "passwort",
			"version": 6
		},
    {
        "accessory": "Computer",
        "name": "Yoga3Pro",
        "mac": "10:08:B1:E5:B1:A5",
        "ip": "192.168.178.15"
      }


	]
}

The Docker Image Stops with inserting the following code in the Config file. Jsonlint says me that the formatting is valid. Without it works

`{
      "platform": "netatmo",
      "deviceTypes": ["weatherstation"],
      "name": "netatmo platform",
      "ttl": 5,
      "auth": {
      "client_id": "5904b6c1ea00a0396a8b56d9",
      "client_secret": "gmNqcsoA49XIY330ZoUmFvoM0WXKXDLfNfypcXymXJZSU",
      "username": "[email protected]",
      "password": "yyy"
  }

    }
`

I hope someone can help me

Thanks Martin

Doesn't show the noise level accessory

I have a netatmo weather station running and there is no noise level accessory in the home app. These accessories were added to Home:

Inside module

  • Temperature
  • Humidity
  • Carbon Dioxide
  • Air Quality

Outside module

  • Temperature
  • Humidity

add new Netatmo module

Dear Sir,

Great job with this pluggin, I want to know if I add new Module on netatmo weather, it is automaticly add at home kit?

JSON error

Dear all, apologies for the rather simple question - I'm very new to JSON and am struggling with a parsing error which I cannot resolve for the config file for a netatmo home bridge plugin. In essence: I have put the following in the config file:

"platforms": [{
"platform": "netatmo",
"name": "netatmo platform",
"ttl": 5,
*
"deviceTypes": [
"weatherstation", 
"thermostat", 
"welcome"
],
*
"auth": {
"client_id": "xxxxxxxxxd428b45bd",
"client_secret": "xxxxxxxxx6mjB2QluBZlYrfZUE",
"username": "[email protected]",
"password": "Vxxxxxxxxxx"
}
}],

The "Xs" are just to anonymise a bit. The JSONLint site gives me the following error:

Error: Parse error on line 1:
"platforms": [{ "platform": "n
-----------^
Expecting 'EOF', '}', ',', ']', got ':'

I pasted the text exactly as was shown in previous post but neither JSONLint nor Homebridge seem to like it. Can you help? Many thanks! Alex

Rain Sensor missing

I noticed, and I think it is since I updated to node 7.6.0 (sorry I'm not an expert in all this) that there is no longer the netatmo rain sensor in the Eve App.
I appreciate some help to investigate in this. Thanks in advance. [email protected]

exclude

Hi, is it possible to exclude humidity and carbon dioxide?

Netatmo Welcome support?

Hey!

While Homekit does not include support for cameras yet (as far as I know anyway), it might be able to detect motion and audio as that's been done with the Nest Cam already. Would be great to get this for Netatmo's camera as well.

Auth error

HI

I receive this error:

[2017-02-05 15:36:47] [netatmo platform] ERROR - Netatmo: Error: Authenticate error: No response

ClientID, clientsecret, mail &pwd are correct.

I have not any ban on my Web interface.

Login id / secret

Hi,

in the Readme it is is written:

"client_id": "XXXXX Create at https://dev.netatmo.com/",
"client_secret": "XXXXX Create at https://dev.netatmo.com/",

Can you please elaborate in the Readme a little more, where i can find the respective entries on https://dev.netatmo.com/ ?

At least for me it is not obvious....

Thanks
Michael

Unexpected Token

Hi!

I'm getting this error when starting Homebridge with the plugin activated:

/usr/local/lib/node_modules/homebridge/lib/server.js:176
throw err;
^
SyntaxError: Unexpected token ]
at Object.parse (native)
at Server._loadConfig (/usr/local/lib/node_modules/homebridge/lib/server.js:170:19)
at new Server (/usr/local/lib/node_modules/homebridge/lib/server.js:44:23)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:26:16)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)

How can this be fixed?

Client ID, Secret, Username and Password are set correctly.

Thanks!

Thermostat & Rain Sensor show up as "not supported"

Hi,

thank you for the fast fix adressing the "not supportes" issue for all Netatmo devices.

Now I have the problem that my Thermostat (I really really really would use it with HomeKit) and the Rain Sensor are showing up as not supportet.

Also could you please give me a hint where to add the device types in to the homebridge cfg?
sorry.. I am very new to homebridge / linux / raspberry / ssh...

Thank you!

Rain Gauge

Any plans to support the Rain gauge and upcoming Wind gauge?

getStationsDataError error: No response

Since yesterday i keep getting No Response from Netatmo server. It's just me?

[2017-01-05 21:21:16] [netatmo platform] WARN - Netatmo: Error: getStationsDataError error: No response
[2017-01-05 21:21:16] [netatmo platform] WARN - Netatmo: Error: getThermostatsDataError error: No response

Also, i disabled the Thermostat, since is already homekit compatible, adding "options_weather" in config. But I see that the plug in try to initialize it.

[2017-01-05 21:15:31] [netatmo platform] refreshing weatherstation device 70:ee:50:27:20:04 (BAUHAUS Meteo BAUHAUS)
[2017-01-05 21:15:31] [netatmo platform] refreshing weatherstation module 02:00:00:27:8b:16 (BAUHAUS Meteo BAUHAUS Esterno)
[2017-01-05 21:15:31] [netatmo platform] refreshing thermostat device 70:ee:50:23:ab:b2 (BAUHAUS)
[2017-01-05 21:15:31] [netatmo platform] refreshing thermostat device 70:ee:50:0c:56:d2 (Termostato)
[2017-01-05 21:15:31] [netatmo platform] Initializing platform accessory 'BAUHAUS Meteo BAUHAUS'...
[2017-01-05 21:15:31] [netatmo platform] Initializing platform accessory 'BAUHAUS Meteo BAUHAUS Esterno'...
[2017-01-05 21:15:31] [netatmo platform] Initializing platform accessory 'BAUHAUS'...
[2017-01-05 21:15:31] [netatmo platform] Initializing platform accessory 'Termostato'...

Homekit Camera Support

Hey,

With the new Homekit App supporting Cameras, wanted to know if there were any plans to extend this plugin out to add the live streaming for the welcome cameras as well.

Looks like its accessible via the API:
https://dev.netatmo.com/dev/resources/technical/reference/cameras/live

I'm thinking of using the FFmpeg plugin in the meantime but I'm sure having the cameras integrated into this plugin would be a much more elegant solution (especially if you can choose whether or not to look at the local version if home)

I don't actually own a netatmo welcome, (but I'm thinking of getting one) but thank you for all your hard work on this plugin! It makes it easier for people like me to integrate these devices with our existing setups.

Continued issue with Wind and Rain guage

Data seems fine which is the reason you closed the old one but still two issues

  1. Apple Home App (beta) works on every home bridge device (even other then netatmo) except the wind and rain gauge. If I choose either it says not supported but all the other netatmo features work.
  2. Using a couple of non-apple home kit apps I have the same problem.

In some they don't even show up (rain and wind)

My favorite one which HomeBridge actually recommends is MyTouchHome on the app store.
The wind and rain gauge show up and the data from the wind and rain gauge show up but no title like (This is just an example. If you send me an address I can send an actual screenshot or upload it somewhere)

N/A 2

N/A 6

N/A 12

Where the 2 is the current wind....the 6 is the gust....and the 12 is the max for the day.

Same kind of thing with rain gauge. All n/a for titles. But the data is there.

The other apps may be ignoring the devices because of the bad titles.

Sensors as Event Triggers

In its current state, the netatmo plugin does not appear to support device characteristics as event triggers. The plugin does not push sensor changes in a live manner to the homebridge server, so event triggers do not function unless a homekit app is opened, which causes the device characteristics to be called/updated.

Example: I want to have a light turn on if my CO2 levels rise above 1000 ppm. I can configure an event to appear as follows: If Netatmo CO2 level reaches 1,000 ppm, then change the power state of my Hue bulb to On.

However, once my CO2 levels reach 1,000 ppm, nothing happens. When I open up a HomeKit app, such as the iOS 10 Home app, the device value is updated, and suddenly, the event is triggered.

Here is discussion on the issue in another plugin that may be of some help in implementing this feature for the netatmo plugin:
rthewhite/homebridge-homewizard#5

Thanks!

Blacklist / Whitelist accessory problems

I have many shared netatmo weatherstations and just want my own one to be shown on homekit, so i tried the whitelist/blacklist.
If I add only my station's mac address to the whitelist, I don't see any accessories, like the external rainsensor or the external temperature sensor.
If I add all shared station's mac addresses to the blacklist, I see there accessories (rainsensor, external temperature sensor) in my home.app
I have updated to the latest homebrigde-netatmon version (0.2.0).

Is there any way to get around this?

Error Reading config.json file

Hi !
After installing the plugin, I always get this massage:
[2016-07-29 01:30:07] Loaded plugin: homebridge-netatmo
[2016-07-29 01:30:08] Registering platform 'homebridge-netatmo.netatmo'
[2016-07-29 01:30:08] ---
[2016-07-29 01:30:08] There was a problem reading your config.json file.
[2016-07-29 01:30:08] Please try pasting your config.json file here to validate it: http://jsonlint.com

How can i solve this problem ?

Best regards

Chris

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.