eelcohn / nrf905-api Goto Github PK
View Code? Open in Web Editor NEWAPI webinterface for the nRF905
License: MIT License
API webinterface for the nRF905
License: MIT License
Where can I find the best module for my buva box?
I see 3 versions, with comments not tested or other remarks, So I'm not sure which one is the best for me and can be bought in the Netherlands.
or are there plans to sell these sets, so we can also contribute in a financial way to this project?
I am using a wemos d1 mini esp32, which should work without issues since it's just an esp32.
but i keep getting "nRF905: config failed" errors.
I even tried setting the gpio manually and moved the SPI connect to the official SPI pins, but no success.
Tripple checked the connections.
#define PIN_AM 32 // nRF905 AM pin (Address Match)
#define PIN_CD 33 // nRF905 CD pin (Carrier detect)
#define PIN_CE 27 // nRF905 CS pin (Enable pin)
#define PIN_DR 35 // nRF905 DR pin (Data Ready)
#define PIN_PWR 26 // nRF905 PWR pin (Power mode pin)
#define PIN_TXEN 25 // nRF905 TX_EN pin (Transmit enable pin)
#define SPI_MOSI 23 // nRF905 CSN pin (SPI slave select pin)
#define SPI_MISO 19 // nRF905 CSN pin (SPI slave select pin)
#define SPI_CLK 18 // nRF905 CSN pin (SPI slave select pin)
#define SPI_CS 05 // nRF905 CSN pin (SPI slave select pin)
pinout https://user-images.githubusercontent.com/558053/92308628-57cb4800-ef9f-11ea-81fa-64d722c4df24.png
any ideas?
In the latest release of HA (Home Assistant) they moved fan speeds out in favor of a percentage, see https://www.home-assistant.io/blog/#fan-speeds-100
I would like to ask for a new feature, an API endpoint that can use this, including an optional timer parameter:
Set the fan speed by a percentage of your fan device.
Example:
http://192.168.x.y/api/v2/fan/setpercentage.json?percentage=50
Parameter | Required | Description |
---|---|---|
percentage |
Yes | Fan speed percentage: a number between 0 and 100 |
timer |
No | Set the fan timer (number of minutes) |
Since upgrading to v1, my NodeMCU ESP8266 crashes after running the API for a few hours.
The blue LED also turns off.
I can remove power and restore it, then the NodeMCU boots and the API works again for a few hours.
First of all: thanks for your great work! I ran into an issue when enabling HTTPS. When I set #define NRF905API_HTTPS
from 0 to 1, I get the following error message:
<path>\nRF905-API\src\nRF905API\nRF905API.ino: In function 'void setup()':
nRF905API:194:54: error: 'serverCert' was not declared in this scope
server.getServer().setRSACert(new BearSSL::X509List(serverCert), new BearSSL::PrivateKey(serverKey));
^
nRF905API:194:91: error: 'serverKey' was not declared in this scope
server.getServer().setRSACert(new BearSSL::X509List(serverCert), new BearSSL::PrivateKey(serverKey));
^
exit status 1
'serverCert' was not declared in this scope
When I change NRF905API_HTTPS back to 1, it compiles successfully.
I learnt a lot from this project, but had a lot of problems around reception and reliability with the RF chip. I tried for a long time to find a more reliable version, but failed.
I solved the problem by connecting a raspberry pi to an Adafruit digital potentiometer and the directly to the Zehnder fan board. This works much more reliably than the RF connection. I then communicate with the pi over Wifi. I use python to set the fan speed. I've also bought some very inexpensive humidity & temp sensors that send the data to the python script, so I can turn the fan on automatically when shower goes on.
If people are interested, I'm happy to share the code/design...
Chris
Hi,
Firstly, thank you for writing this api, I'm very much looking forward to using it for controlling my Zehnder Comfofan S.
I have setup and wired the chip successfully (I believe) and uploaded the software. My setup is:
RF Module: https://www.amazon.nl/gp/product/B08GLQF3TK/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
MicroController: https://www.amazon.nl/gp/product/B074Q2WM1Y/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
The Serial Monitor log is below [1], which I think in general looks good, I can access my chip from the network. I did have an issue initially connecting to the wifi but that was just because reception was bad in the loft.
When I try and use the api for example by entering this into the webpage,
http://192.168.178.225/api/v2/fan/setspeed.json?speed=high
I get this response.
{"result":"no_reply","error":"Command sent but no acknowledge was received","rxdata":[]}
I have recorded the wav's using rtl_fm, which I can send if useful. It is definitely transmitting but looks weeker than the Zender RF button I have.
Are there any other steps I can use to debug the issue? Any help is much appreciated.
Chris
[1]
10:51:51.701 -> ;l⸮⸮|⸮$⸮|�� �⸮ $⸮�c|ǃ�⸮�⸮{⸮c⸮ c⸮⸮o'⸮lno⸮⸮⸮ b�x⸮⸮l;l{lx⸮n⸮���http: /cfgfand
10:52:02.764 -> Fan discover step 1: unplug
10:53:01.018 -> Data received
10:53:01.018 -> Data received
10:53:01.018 -> Data received
10:54:29.383 -> Data received
10:56:37.169 -> Data received
10:56:37.169 -> Data received
10:56:37.169 -> Data received
10:56:37.169 -> Data received
10:56:37.169 -> Data received
10:56:39.793 -> Data received
10:56:39.793 -> Data received
10:56:43.953 -> Data received
10:56:43.953 -> Data received
10:56:43.953 -> Data received
10:56:43.953 -> Data received
10:56:44.548 -> http: /cfglang
10:56:44.548 -> Data received
10:56:55.813 -> Data received
10:56:55.813 -> Data received
10:56:55.813 -> Data received
10:56:55.813 -> http: /cfgauth
10:56:55.813 -> Data received
10:56:55.813 -> Data received
10:56:55.813 -> Data received
10:56:55.813 -> Data received
10:56:55.813 -> http: /cfgwifi
10:56:55.813 -> Data received
10:56:57.552 -> Data received
10:56:57.552 -> Data received
10:56:57.552 -> Data received
10:56:57.552 -> Data received
10:57:07.584 -> Data received
10:57:07.584 -> Data received
10:57:07.584 -> Data received
10:57:07.584 -> Data received
10:57:07.584 -> Data received
10:57:07.584 -> Data received
10:57:07.584 -> Data received
10:57:07.584 -> Data received
10:57:09.796 -> Data received
10:57:09.796 -> Data received
10:57:09.796 -> Data received
10:57:11.624 -> Data received
10:57:16.854 -> Data received
10:57:16.854 -> Data received
10:57:16.854 -> Data received
10:57:16.854 -> Data received
10:57:16.854 -> Data received
10:57:19.871 -> Data received
10:57:19.871 -> Data received
10:57:21.638 -> Data received
10:57:21.888 -> Data received
10:57:21.888 -> Data received
10:57:22.505 -> Data received
10:57:25.941 -> Data received
10:57:25.941 -> Data received
10:57:27.060 -> Data received
10:57:35.902 -> Data received
10:57:35.902 -> Data received
10:57:35.902 -> Data received
10:57:35.902 -> Data received
10:57:40.159 -> Data received
10:57:40.159 -> Data received
10:57:40.159 -> Data received
10:57:40.159 -> Data received
10:57:40.159 -> Data received
10:57:40.159 -> Data received
10:57:40.159 -> Data received
10:57:40.159 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:54.375 -> Data received
10:57:59.571 -> Data received
10:57:59.571 -> Data received
10:57:59.571 -> Data received
10:57:59.571 -> Data received
10:58:09.604 -> Data received
10:58:09.604 -> http: /cfgfan
10:58:09.604 -> Data received
10:58:09.604 -> Data received
10:58:09.604 -> Data received
10:58:09.604 -> Data received
10:58:09.604 -> Data received
10:58:09.604 -> Data received
10:58:09.604 -> Data received
10:58:09.604 -> Data received
10:58:09.604 -> Data received
10:58:17.461 -> Data received
10:58:17.461 -> Data received
10:58:17.461 -> writeConfigRegisters 00:76:2E:44:10:10:A5:5A:5A:A5:DB:
10:58:17.461 -> http: /cfgboot
10:58:17.461 -> readConfigRegisters 00:76:2E:44:10:10:A5:5A:5A:A5:DB:
10:58:17.461 -> nvram: write ok
10:58:27.491 ->
10:58:27.491 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
10:58:27.491 ->
10:58:27.491 -> load 0x4010f000, len 3584, room 16
10:58:27.491 -> tail 0
10:58:27.491 -> chksum 0xb0
10:58:27.491 -> csum 0xb0
10:58:27.491 -> v2843a5ac
10:58:27.491 -> ~ld
10:58:27.491 ->
10:58:27.491 -> nRF905 API version 1.0.0
10:58:27.491 -> readConfigRegisters 00:76:2E:44:10:10:A5:5A:5A:A5:DB:
10:58:27.491 -> writeConfigRegisters 00:76:2E:44:10:10:A5:5A:5A:A5:DB:
10:58:27.491 -> nRF905: config ok
10:58:27.491 -> writeConfigRegisters 00:76:2E:44:10:10:A5:5A:5A:A5:DB:
10:58:27.491 -> nvram: read ok
10:58:27.491 -> WiFi: Connecting to ……………………………………………………> failed
10:58:56.234 -> Switching to AP mode
10:58:56.234 -> WiFi SoftAP: setup done
10:58:56.234 -> WiFi SoftAP: IP address: 192.168.4.1
10:59:54.832 -> http: /cfglang
10:59:54.903 -> http: /cfglang
10:59:54.903 -> http: /cfglang
11:00:16.905 -> http: /cfglang
11:00:23.384 -> http: /cfgauth
11:01:09.804 -> http: /cfgwifi
11:02:10.811 -> http: /cfgfan
11:02:17.146 -> writeConfigRegisters 00:76:2E:44:10:10:A5:5A:5A:A5:DB:
11:02:17.401 -> http: /cfgfand
11:02:17.401 -> Fan discover step 1: unplug
11:02:41.141 -> http: /cfgfand
11:02:41.141 -> Fan discover step 2: plugin
11:02:48.898 -> http: /cfgfand
11:02:48.898 -> Fan discover step 3: link
11:02:48.898 -> Debug: My ID is 0x7a. Searching...
11:02:49.004 -> writeConfigRegisters 00:76:2E:44:10:10:A5:5A:5A:A5:DB:
11:02:49.216 -> Starting transmission 4 3 2 1 - done.
11:02:49.731 -> Starting transmission 4 3 2 1 - done.
11:02:49.874 -> Data received
11:02:50.739 -> 00:00:01:C7:FA:06:04:7B:57:BE:EF:00:00:00:00:00:discover: Found unit type 0x01 with ID 0xC7 on network 0xEFBE577B
11:02:50.839 -> writeConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:02:51.044 -> 01:C7:03:7A:FA:04:04:7B:57:BE:EF:00:00:00:00:00:Starting transmission 4 3 2 1 - done.
11:02:51.564 -> Starting transmission 4 3 2 1 - done.
11:02:51.598 -> Data received
11:02:51.632 -> Data received
11:02:51.666 -> Data received
11:02:51.702 -> Data received
11:02:51.702 -> Data received
11:02:51.739 -> Data received
11:02:51.774 -> Data received
11:02:51.807 -> Data received
11:02:52.561 -> Debug: Link successful to unit with ID 0xc7 on network 0xefbe577b
11:02:52.561 -> Debug: sending join request acknowledge 0x0b
11:02:52.661 -> Starting transmission 4 3 2 1 - done.
11:02:52.972 -> Data received
11:02:53.005 -> Data received
11:02:53.005 -> Data received
11:02:53.043 -> Data received
11:02:53.076 -> Data received
11:02:53.112 -> Data received
11:02:53.112 -> Data received
11:02:53.145 -> Data received
11:02:53.179 -> Data received
11:02:53.799 -> writeConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:02:53.873 -> Debug: join successful
11:02:53.873 -> Fan configuration set: netid=EFBE577B myid=7A mainid=C7
11:03:03.883 -> http: /cfgboot
11:03:10.063 -> readConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:03:10.099 -> nvram: write ok
11:03:15.183 ->
11:03:15.183 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
11:03:15.183 ->
11:03:15.183 -> load 0x4010f000, len 3584, room 16
11:03:15.217 -> tail 0
11:03:15.217 -> chksum 0xb0
11:03:15.217 -> csum 0xb0
11:03:15.217 -> v2843a5ac
11:03:15.217 -> ~ld
11:03:17.285 ->
11:03:17.285 -> nRF905 API version 1.0.0
11:03:17.285 -> readConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:03:17.285 -> writeConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:03:17.670 -> nRF905: config ok
11:03:17.743 -> writeConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:03:18.052 -> nvram: read ok
11:03:18.159 -> WiFi: Connecting to <removed…………………………………………………>.. failed
11:03:48.153 -> Switching to AP mode
11:03:49.292 -> WiFi SoftAP: setup done
11:03:49.496 -> WiFi SoftAP: IP address: 192.168.4.1
11:05:30.472 -> http: /cfglang
11:05:30.645 -> http: /cfglang
11:05:30.645 -> http: /cfglang
11:05:30.784 -> http: /cfglang
11:05:31.854 -> http: /cfglang
11:05:31.888 -> http: /cfglang
11:05:31.922 -> http: /cfglang
11:06:41.196 -> http: /cfglang
11:06:44.558 -> http: /cfgauth
11:07:05.501 -> http: /cfgwifi
11:08:23.745 -> http: /cfgfan
11:08:23.745 -> writeConfigRegisters 00:76:2E:44:10:10:A5:5A:5A:A5:DB:
11:08:23.745 -> http: /cfgfand
11:08:23.745 -> Fan discover step 1: unplug
11:08:41.260 -> http: /cfgfand
11:08:41.260 -> Fan discover step 2: plugin
11:09:06.284 -> http: /cfgfand
11:09:06.284 -> Fan discover step 3: link
11:09:06.284 -> Debug: My ID is 0xe7. Searching...
11:09:06.284 -> writeConfigRegisters 00:76:2E:44:10:10:A5:5A:5A:A5:DB:
11:09:06.284 -> Starting transmission 4 3 2 1 - done.
11:09:06.284 -> Starting transmission 4 3 2 1 - done.
11:09:06.284 -> Data received
11:09:06.284 -> 00:00:01:C7:FA:06:04:7B:57:BE:EF:00:00:00:00:00:discover: Found unit type 0x01 with ID 0xC7 on network 0xEFBE577B
11:09:06.284 -> writeConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:09:06.284 -> 01:C7:03:E7:FA:04:04:7B:57:BE:EF:00:00:00:00:00:Starting transmission 4 3 2 1 - done.
11:09:06.284 -> Starting transmission 4 3 2 1 - done.
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Debug: Link successful to unit with ID 0xc7 on network 0xefbe577b
11:09:06.284 -> Debug: sending join request acknowledge 0x0b
11:09:06.284 -> Starting transmission 4 3 2 1 - done.
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> Data received
11:09:06.284 -> writeConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:09:06.284 -> Debug: join successful
11:09:06.284 -> Fan configuration set: netid=EFBE577B myid=E7 mainid=C7
11:09:21.279 -> http: /cfgboot
11:09:36.285 -> readConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:09:36.285 -> nvram: write ok
11:09:40.056 ->
11:09:40.056 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
11:09:40.056 ->
11:09:40.056 -> load 0x4010f000, len 3584, room 16
11:09:40.056 -> tail 0
11:09:40.056 -> chksum 0xb0
11:09:40.056 -> csum 0xb0
11:09:40.056 -> v2843a5ac
11:09:40.056 -> ~ld
11:09:42.141 ->
11:09:42.141 -> nRF905 API version 1.0.0
11:09:42.141 -> readConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:09:42.141 -> writeConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:09:42.525 -> nRF905: config ok
11:09:42.593 -> writeConfigRegisters 00:76:2E:44:10:10:7B:57:BE:EF:DB:
11:09:42.908 -> nvram: read ok
11:09:43.013 -> WiFi: Connecting to ……. connected
11:09:47.292 -> WiFi: IP address: 192.168.178.225
11:09:47.292 -> WiFi: IP6 address: n/a
11:09:47.292 -> http: started
11:09:47.292 -> nRF905: switching to receive mode
11:09:47.292 -> mode=1mode=2Setup done
11:10:10.170 -> http: /cfglang
11:10:35.844 -> http: /cfglang
11:10:51.566 -> Starting transmission 4 3 2 1 - done.
11:10:52.095 -> Starting transmission 4 3 2 1 - done.
11:10:52.614 -> Starting transmission 4 3 2 1 - done.
11:10:53.136 -> Starting transmission 4 3 2 1 - done.
11:10:53.655 -> Starting transmission 4 3 2 1 - done.
11:10:54.143 -> Starting transmission 4 3 2 1 - done.
11:10:54.664 -> Starting transmission 4 3 2 1 - done.
11:10:55.174 -> Starting transmission 4 3 2 1 - done.
11:10:55.698 -> Starting transmission 4 3 2 1 - done.
11:10:56.215 -> Starting transmission 4 3 2 1 - done.
11:10:56.750 -> http: /api/v2/fan/setspeed.json
11:10:56.750 -> Debug: setspeed returned 5
11:11:44.952 -> Starting transmission 4 3 2 1 - done.
11:11:44.952 -> Starting transmission 4 3 2 1 - done.
11:11:44.952 -> Starting transmission 4 3 2 1 - done.
11:11:44.952 -> Starting transmission 4 3 2 1 - done.
11:11:44.952 -> Starting transmission 4 3 2 1 - done.
11:11:44.952 -> Starting transmission 4 3 2 1 - done.
11:11:44.952 -> Starting transmission 4 3 2 1 - done.
11:11:44.952 -> Starting transmission 4 3 2 1 - done.
11:11:44.952 -> Starting transmission 4 3 2 1 - done.
11:11:45.948 -> Starting transmission 4 3 2 1 - done.
11:11:45.948 -> querydevice: returned 5
11:11:45.948 -> http: /api/test/fan/querydevice.json
11:13:35.901 -> Starting transmission 4 3 2 1 - done.
11:13:35.901 -> Starting transmission 4 3 2 1 - done.
11:13:35.901 -> Starting transmission 4 3 2 1 - done.
11:13:35.901 -> Starting transmission 4 3 2 1 - done.
11:13:37.014 -> Starting transmission 4 3 2 1 - done.
11:13:37.014 -> Starting transmission 4 3 2 1 - done.
11:13:37.014 -> Starting transmission 4 3 2 1 - done.
11:13:37.014 -> Starting transmission 4 3 2 1 - done.
11:13:37.014 -> Starting transmission 4 3 2 1 - done.
11:13:37.014 -> Starting transmission 4 3 2 1 - done.
11:13:37.014 -> querydevice: returned 5
11:13:37.014 -> http: /api/test/fan/querydevice.json
11:15:24.311 -> Starting transmission 4 3 2 1 - done.
11:15:25.406 -> Starting transmission 4 3 2 1 - done.
11:15:25.406 -> Starting transmission 4 3 2 1 - done.
11:15:25.406 -> Starting transmission 4 3 2 1 - done.
11:15:25.406 -> Starting transmission 4 3 2 1 - done.
11:15:25.406 -> Starting transmission 4 3 2 1 - done.
11:15:25.406 -> Starting transmission 4 3 2 1 - done.
11:15:25.406 -> Starting transmission 4 3 2 1 - done.
11:15:25.406 -> Starting transmission 4 3 2 1 - done.
11:15:25.406 -> Starting transmission 4 3 2 1 - done.
11:15:25.406 -> http: /api/v2/fan/setspeed.json
11:15:25.406 -> Debug: setspeed returned 5
I have connected the setup with my ComfoFan Silent - P. (the perilex version)
However, even at maximum the speed percentage is 61. See below.
Is this a weirdness in my fan setup or is this a software thing?
high
{"result":"ok","devices":{"FD":{"type": "fan","id": "FD","voltage": 6.1,"percentage": 61,"speed": "low","timer": false}},"rxdata":["03D201FDFA0704013D000B0000000000","03D201FDD10704013D000B0000000000","03D201FDBD0704013D000B0000000000","03D201FDAC0704013D000B0000000000","03D201FD9F0704013D000B0000000000","03D201FD900704013D000B0000000000","03D201FD830704013D000B0000000000","03D201FD6F0704013D000B0000000000","03D201FD5E0704013D000B0000000000","03D201FD4A0704013D000B0000000000","03D201FD2F0704013D000B0000000000","03D201FD130704013D000B0000000000"]}
medium
{"result":"ok","devices":{"FD":{"type": "fan","id": "FD","voltage": 4.0,"percentage": 40,"speed": "low","timer": false}},"rxdata":["03D201FDFA07040128000B0000000000","03D201FDD907040128000B0000000000","03D201FDC007040128000B0000000000","03D201FDAC07040128000B0000000000","03D201FD9E07040128000B0000000000","03D201FD8607040128000B0000000000","03D201FD7007040128000B0000000000","03D201FD5607040128000B0000000000","03D201FD4707040128000B0000000000","03D201FD3207040128000B0000000000","03D201FD1F07040128000B0000000000"]}
low:
{"result":"ok","devices":{"FD":{"type": "fan","id": "FD","voltage": 3.0,"percentage": 30,"speed": "low","timer": false}},"rxdata":["03D201FDFA0704011E000B0000000000","03D201FDE70704011E000B0000000000","03D201FDD70704011E000B0000000000","03D201FDC50704011E000B0000000000","03D201FDB40704011E000B0000000000","03D201FD9F0704011E000B0000000000","03D201FD920704011E000B0000000000","03D201FD7F0704011E000B0000000000","03D201FD6E0704011E000B0000000000","03D201FD5B0704011E000B0000000000","03D201FD440704011E000B0000000000","03D201FD2F0704011E000B0000000000","03D201FD150704011E000B0000000000"]}
note: I must have a poor nrf board as I need to have it really close to the fan
Hi,
I had difficulties running the setup and changing values (like username and pass) in the configwizard. It seemed that changing default values was not possible.
Reason:
There are multiple places in configwizard.cpp where strncopy uses sizeof(CONST). In this case too little bytes are copied.
Examples:
strncpy(config.language, server.arg("language").c_str(), sizeof(MAX_LANGUAGE));
strncpy(config.http_username, server.arg("http_username").c_str(), sizeof(MAX_HTTP_USERNAME));
strncpy(config.http_password, server.arg("http_password").c_str(), sizeof(MAX_HTTP_PASSWORD));
strncpy(config.wifi_hostname, server.arg("hostname").c_str(), sizeof(MAX_WIFI_HOSTNAME));
etc...
please use:
strncpy(config.language, server.arg("language").c_str(), MAX_LANGUAGE);
etc..
And all will work fine!
Note also that strncpy will not zero-terminate the string which also might lead to unpredicted results in case one uses a large string. Actually you should zero terminate it by: config.language[MAX_LANGUAGE-1] = '\0'
or create a function:
void safestrcpy(char dst, const char* src, int max_length)
{
strncpy(dst, src, max_length);
dst[max_length-1] = '\0';
}
Hi,
First of all: many thanks for this bloody brilliant piece of work. I had the antenna's laying around for 3 years already but I was lacking all knowledge you luckally posses.
I notice this on the on other forums as well, but since i don't have a logging there I took the freedom of reporting the bug here.
I have a Zehnder Co2 sensor in the living room, which overrules the calls to setspeed and setvoltage. The ventilator responds but a few seconds later it will go back to auto. Only way to keep the ventilator running is using the parameters.
Would be happy to use the setvoltage with a slider bar in Home Assistant.
Hi, I am using Lolin32 Lite with nrf905 and I seem to be unable to pair with ComfoAir E300 RF:
15:09:41.379 > Fan discover step 3: link
15:09:41.380 > Debug: My ID is 0x2c. Searching...
15:09:41.482 > writeConfigRegisters 00:76:2E:44:10:10:A5:5A:5A:A5:DB:
15:09:41.682 > Starting transmission 4 3 2 1 - done.
15:09:41.818 > Data received
15:09:41.892 > Data received
15:09:42.696 > 00:00:01:49:66:06:04:2A:A8:C2:20:00:00:00:00:00:discover: Found unit type 0x01 with ID 0x49 on network 0x20C2A82A
15:09:42.797 > writeConfigRegisters 00:76:2E:44:10:10:2A:A8:C2:20:DB:
15:09:42.998 > 01:49:03:2C:FA:04:04:2A:A8:C2:20:00:00:00:00:00:Starting transmission 4 3 2 1 - done.
15:09:43.515 > Starting transmission 4 3 2 1 - done.
15:09:44.031 > Starting transmission 4 3 2 1 - done.
15:09:44.548 > Starting transmission 4 3 2 1 - done.
15:09:45.063 > Starting transmission 4 3 2 1 - done.
15:09:45.579 > Starting transmission 4 3 2 1 - done.
15:09:45.614 > Data received
15:09:45.648 > Data received
15:09:45.713 > Data received
15:09:46.595 > Debug: Received unknown frame type 0x4 from ID 0x2c on network 0x20c2a82a
15:09:46.602 > Debug: Received unknown frame type 0x4 from ID 0x2c on network 0x20c2a82a
15:09:46.606 > Debug: Received unknown frame type 0x4 from ID 0x2c on network 0x20c2a82a
15:09:46.615 > Debug: no networks found
Not sure whether this is related to NRF905 issue, but it looks like it can "receive" some data (based on the second output).
The setup UI is great as it improves user experience a lot. I checked my previous config files to see what I've configured manually.
Would it be possible to integrate these as well? Especially the HTTPS / IPv6 config options as OTA is disabled by default.
Thanks!
Is this menu to authenticate with the NRF905 or is it for configuring the authentication? I think it's the latter. I also wonder if the setup screen should be accessible after the NRF905 is out of it's initial setup. Especially the authentication part of the setup. Otherwise the username and password can be easily changed by someone on the network.
Hi,
I have a BUVA BoxStream RF+
I would like to control using your API. For this project I bought off AliExpress a V2 Nodemcu-CP2102 (ESP8266 ESP-12E)
and Wavgat NRF905
. Yes, I know these aren't the exact types you advise, but I took my chances due to the cost difference. Perhaps the hardware is the reason for my trouble, please let me know if that is the case.
I succeeded following the steps for building the hardware and programming the nRF905 API software to the NodeMCU. The configuration wizard was successful up until the fan discovery wizard. I unplugged the fan unit and plugged it back in, after which the wizard should say "Your fan is successfully configured". However, I got the message "Warning: hardware error while configuring the nRF90".
And indeed, after rebooting the NodeMCU, it connects to my configured WiFi, but the configuration wizard starts again when I open the page.
Please let me know if there is something I can change or do or try, or if I should just buy other boards. :)
When I use the new api/test/fan/querydevice.json
query, it returns a 200 status code even when the API could not receive a reply from the Zehnder system:
I think that in this case it might be better to return a different status code. Maybe 504 is a better way of handling this error.
It would also make it much easier for e.g. Home Assistant to understand that something went wrong and that the previous state needs to be kept until a successful call can be made.
Thanks!
Dear Eelco,
having build a ESP32+nRF905 setup I have loaded your API but got stuck on the presets for Zender/BUVA. There is a manual option but I don't know it that is suitable for connecting an Itho system.
Is there a way to use your efforts and the manual mode with the correct values? Or is your API not compatible with the rf-codes for Itho? It would be very beneficial if Itho systems would also be added.
Many thanks in advance.
Regards, Wolly
https://gathering.tweakers.net/forum/view_message/63858344
Ik merk dat ik bij mij vaak twee of drie keer een call moet aftrappen voordat er daadwerkelijk iets gebeurt. Hebben jullie dat ook? Wellicht komt dit doordat het ESP-bordje in de kast 2 muren verderop ligt?
Misschien een idee om de code aan te passen zodat hij een retry doet op het moment dat er geen feedback komt van de Zehnder ComfoFan?
Fantastisch werk! Nu maar hopen dat ik het snel aan de praat krijg thuis :).
Ik ben niet helemaal thuis in knutselprojecten en ben onlangs begonnen met het aansturen van onze Bellfires gashaard met een ESP8266 die geconfigureerd is met ESPHome en daardoor enthousiast geraakt.
Nu probeer ik onze Buva aan te sturen met de volgende componenten:
Ik probeer de volgende stappen uit te voeren maar kom helaas niet verder dan stap 6.
Ik heb de DOIT ESP32 DEVKIT V1 geslecteerd en de baud rate op 115200 gezet.
Ook heb ik de flash frequency op 80Mhz staan, maar dat was default voor het bordje.
Verder heb ik de bedrading (dupont) 2x nagelopen en zie daar ook geen bijzonderheden.
Output Serial Monitor:
15:06:42.775 ->
15:06:42.775 -> nRF905 API version 1.0.0
15:06:42.775 -> readConfigRegisters 00:6C:00:44:20:20:E7:E7:E7:E7:DB:
15:06:42.775 -> writeConfigRegisters 00:6C:00:44:20:20:E7:E7:E7:E7:DB:
15:06:43.149 -> nRF905: config ok
15:06:43.183 -> nvram: read invalid signature
15:06:43.183 -> Switching to AP mode
15:06:44.249 -> [D][WiFiGeneric.cpp:337] _eventCallback(): Event: 0 - WIFI_READY
15:06:44.249 -> WiFi SoftAP: setup done
15:06:44.249 -> [D][WiFiGeneric.cpp:337] _eventCallback(): Event: 14 - AP_STOP
15:06:44.454 -> WiFi SoftAP: IP address: 192.168.4.1
15:06:44.454 -> nvram: load defaults ok
Iemand een idee in welke richting ik moet zoeken?
I bought a nodemcu and de nfr followed the steps but got errors and don't know how to resolve. What's wrong? What do I miss?
I see also a folder on this github: homeassistant. is that a option to flash it with esphome or something?
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o: in function
esp8266webserver::ESP8266WebServerTemplate::handleClient()':
C:\Users\remco\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:368: undefined reference to server' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0x94): undefined reference to
json_sendNotFound()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xbc): undefined reference to Board::setOnBoardLED(bool)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xc0): undefined reference to
Board::setADCtoVccMode()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xc4): undefined reference to nRF905::init(unsigned int, unsigned int, bool)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xc8): undefined reference to
nRF905::setModeIdle()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xcc): undefined reference to Board::set_hostname(char const*)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xd0): undefined reference to
htmlAddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xd4): undefined reference to htmlConfigWizardAddHandlers()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xd8): undefined reference to
javascriptAddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xdc): undefined reference to stylesheetAddHandlers()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xe0): undefined reference to
iconsAddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xe4): undefined reference to nRF905::setModePowerDown()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xe8): undefined reference to
Board::deepSleep(unsigned long long)'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xec): undefined reference to Board::enable_IPv6()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xf0): undefined reference to
Board::get_localIPv6()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xf4): undefined reference to apiv1_AddHandlers()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xf8): undefined reference to
apiv2_AddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0xfc): undefined reference to apitest_AddHandlers()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0x100): undefined reference to
nRF905::getMode()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0x104): undefined reference to nRF905::setModeReceive()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0x108): undefined reference to
Board::getOnBoardLED()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0x12e): undefined reference to Board::setOnBoardLED(bool)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0x136): undefined reference to
Board::setADCtoVccMode()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0x16a): undefined reference to nRF905::init(unsigned int, unsigned int, bool)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0x18a): undefined reference to
nRF905::setModeIdle()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0x1d5): undefined reference to Board::set_hostname(char const*)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:(.text.setup+0x21f): undefined reference to
Board::setOnBoardLED(bool)'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o: in function setup': C:\Users\remco\Documents\Arduino\itho/itho.ino:77: undefined reference to
htmlAddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:77: undefined reference to htmlConfigWizardAddHandlers()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:77: undefined reference to
javascriptAddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:78: undefined reference to stylesheetAddHandlers()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:80: undefined reference to
iconsAddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:87: undefined reference to nRF905::setModePowerDown()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:88: undefined reference to
Board::deepSleep(unsigned long long)'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:97: undefined reference to Board::setOnBoardLED(bool)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:105: undefined reference to
Board::enable_IPv6()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:106: undefined reference to Board::get_localIPv6()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:114: undefined reference to
htmlAddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:115: undefined reference to htmlConfigWizardAddHandlers()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:115: undefined reference to
javascriptAddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:115: undefined reference to stylesheetAddHandlers()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:118: undefined reference to
apiv1_AddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:118: undefined reference to apiv2_AddHandlers()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:119: undefined reference to
apitest_AddHandlers()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:121: undefined reference to iconsAddHandlers()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:128: undefined reference to
nRF905::getMode()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:134: undefined reference to nRF905::setModeReceive()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:136: undefined reference to
nRF905::getMode()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:139: undefined reference to Board::getOnBoardLED()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:140: undefined reference to
Board::setOnBoardLED(bool)'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\itho/itho.ino:150: undefined reference to nRF905::update()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o: in function
loop':
C:\Users\remco\Documents\Arduino\itho/itho.ino:150: undefined reference to nRF905::update()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:C:\Users\remco\Documents\Arduino\itho/itho.ino:154: undefined reference to
Board::Board()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o:C:\Users\remco\Documents\Arduino\itho/itho.ino:154: undefined reference to nRF905::nRF905(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned int)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o: in function
setup':
C:\Users\remco\Documents\Arduino\itho/itho.ino:156: undefined reference to Board::Board()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\itho.ino.cpp.o: in function
_GLOBAL__sub_I_dnsServer':
c:\users\remco\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506\xtensa-lx106-elf\include\c++\4.8.2/functional:2437: undefined reference to nRF905::nRF905(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned int)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\nRF905API\nvram.cpp.o:(.text._Z9readNVRAMv+0x18): undefined reference to
Board::ReadNVRAM(unsigned char*, unsigned int, unsigned int)'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\nRF905API\nvram.cpp.o:(.text._Z9readNVRAMv+0x1c): undefined reference to nRF905::restoreConfigRegisters(unsigned char const*)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\nRF905API\nvram.cpp.o:(.text._Z9readNVRAMv+0x20): undefined reference to
nRF905::decodeConfigRegisters()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\nRF905API\nvram.cpp.o:(.text._Z9readNVRAMv+0x24): undefined reference to nRF905::writeConfigRegisters()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\nRF905API\nvram.cpp.o:(.text._Z9readNVRAMv+0x28): undefined reference to
nRF905::writeTxPayload(unsigned char const*)'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\nRF905API\nvram.cpp.o:(.text._Z9readNVRAMv+0x2c): undefined reference to nRF905::setTxAddress(int)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\nRF905API\nvram.cpp.o:(.text._Z9readNVRAMv+0x30): undefined reference to
nRF905::writeTxAddress()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\nRF905API\nvram.cpp.o: in function readNVRAM()': C:\Users\remco\Documents\Arduino\libraries\nRF905API/nvram.cpp:11: undefined reference to
Board::ReadNVRAM(unsigned char*, unsigned int, unsigned int)'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\libraries\nRF905API/nvram.cpp:12: undefined reference to nRF905::setModeIdle()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\libraries\nRF905API/nvram.cpp:15: undefined reference to
nRF905::restoreConfigRegisters(unsigned char const*)'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\libraries\nRF905API/nvram.cpp:15: undefined reference to nRF905::decodeConfigRegisters()' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\libraries\nRF905API/nvram.cpp:17: undefined reference to
nRF905::writeConfigRegisters()'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\libraries\nRF905API/nvram.cpp:18: undefined reference to nRF905::writeTxPayload(unsigned char const*)' c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\libraries\nRF905API/nvram.cpp:19: undefined reference to
nRF905::setTxAddress(int)'
c:/users/remco/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\remco\Documents\Arduino\libraries\nRF905API/nvram.cpp:20: undefined reference to nRF905::writeTxAddress()' collect2.exe: error: ld returned 1 exit status exit status 1 Error compiling for board NodeMCU 1.0 (ESP-12E Module).
Hello,
how can i find the correct payload with a CO2 sensor. I changed the Tx adress to the correct one, but the payload are not working correct. When 1 sent 10 minutes max speed, it won't stop after 10 minutes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.