Pim van Pelt
8149a6cd10
add timespec_empty() unit test
2018-11-04 19:56:08 +01:00
Pim van Pelt
8c6b2f399b
add timespec_empty()
2018-11-04 19:55:54 +01:00
Pim van Pelt
9af4c4b3a6
Add notes for Sonoff 4CH updates (ensure to copy out timespec.chan*; remove 1MB build
2018-11-04 19:41:14 +01:00
Pim van Pelt
8624473386
Bump version to 1.4 -- now with timespec handling!
2018-11-04 19:19:36 +01:00
Pim van Pelt
61ddb0334e
Commit timespec to file on Timespec.Add; Unlink timespec file on Timespec.Clear; Initialize timespec from file in channel_init()
2018-11-04 19:19:17 +01:00
Pim van Pelt
8c4864b199
Remove danlging vim swap file
2018-11-04 18:57:37 +01:00
Pim van Pelt
f5ea934dfb
Add timespec_{read,write}_file() and unit tests
2018-11-04 17:40:12 +01:00
Pim van Pelt
5b79487ab8
Format with uncrustify
2018-11-04 16:45:23 +01:00
Pim van Pelt
31dcf28ff0
Add Timespec.{Get,Clear,Add} RPCs
2018-11-04 16:45:05 +01:00
Pim van Pelt
560c81cbfd
Add channel_get_timespec()
2018-11-04 16:44:47 +01:00
Pim van Pelt
f8a13112b6
Fix signedness comparison for ESP8266 compiler
2018-11-04 16:22:09 +01:00
Pim van Pelt
a01e548249
add timespec_clear_spec() and timespec_get_spec()
2018-11-04 16:17:35 +01:00
Pim van Pelt
0ad33f5fbc
Add timespec() and channel_override logic -- so we can install a time specification with which the channels are driven, but yet allowing a human override (either by RPC or by Button)
2018-11-04 15:44:17 +01:00
Pim van Pelt
d5778c6fba
Add timespec_match_now() based on localtime()
2018-11-04 15:43:32 +01:00
Pim van Pelt
af9db0395d
Add SNTP library
2018-11-04 15:42:08 +01:00
Pim van Pelt
5c26d2d43b
format with uncrustify
2018-11-04 14:19:00 +01:00
Pim van Pelt
8cfcfc9af3
Add mgos_gpio_read(); mgos_[mu]sleep()
2018-11-04 14:17:00 +01:00
Pim van Pelt
5ebd4b112a
Make default app.config be nodemcu v2 board; Clear sensors.dht_gpio, make users actually set this
2018-11-04 14:11:10 +01:00
Pim van Pelt
3ae64cfc37
Add standard NodeMCU v2 board
2018-11-04 14:10:39 +01:00
Pim van Pelt
5a39c618ce
Allow LED and Relay logic level to be inverted
2018-11-04 14:10:28 +01:00
Pim van Pelt
b29edab495
Add 'duration' argument to Channel.Set RPC call
2018-11-01 21:01:37 +01:00
Pim van Pelt
75eccd0447
Move to a struct with args in channel_set_cb()
2018-11-01 20:57:24 +01:00
Pim van Pelt
8eb6bcb112
add channel_set_duration() for timer based polls
2018-11-01 20:29:51 +01:00
Pim van Pelt
3140cc72b8
Log to chumbucket by default, set the device hostname to 'test-device'
2018-11-01 14:48:01 +01:00
Pim van Pelt
6434cb6db0
Sleep the MCU 250ms after relay on switches, to avoid brownouts. Scan the pushbutton for 100ms to ensure it was still pressed, to avoid RFI from triggering
2018-11-01 14:47:35 +01:00
Pim van Pelt
d332f08da4
Make distinction between channels toggled via GPIO (button) or RPC
2018-11-01 14:31:59 +01:00
Pim van Pelt
f1614f3e6e
Remove 50ms sleep time, it doesn't help
2018-11-01 14:12:13 +01:00
Pim van Pelt
d673cda325
Remove cooldown check - this is not what we're looking for
2018-11-01 14:11:37 +01:00
Pim van Pelt
08453f3b5d
Log by default to stderr/stdout, make user disable this explicitly for units which use GPIO 1,3
2018-11-01 14:11:21 +01:00
Pim van Pelt
23b2e37a1f
Add some notes to README
2018-11-01 14:10:40 +01:00
Pim van Pelt
7c9870aa32
Order the sonoff-4ch channels correctly (idx0 == chan1)
2018-11-01 13:50:17 +01:00
Pim van Pelt
7a5507d691
Set FLASH_SIZE to 1MB to flash ESP8285 Sonoff 4CH devices
2018-10-31 13:51:26 +01:00
Pim van Pelt
64fc98dcf7
Add a 50ms delay after switching relays, so we avoid RF spikes from inductive loads triggering capacitive touch sensors
2018-10-31 13:51:02 +01:00
Pim van Pelt
818c27c7ce
Add rpc-ws library; Remove UDP logging
2018-10-28 13:11:54 +01:00
Pim van Pelt
3e3d9dcbe0
Add timespec -- add tests for it too.
2018-10-28 12:47:42 +01:00
Pim van Pelt
9ee393bc8a
Rebase private OTA libs on 2.7
2018-10-28 12:12:24 +01:00
Pim van Pelt
497c62b382
Add empty mgos_ro_vars.h
2018-04-17 18:14:51 +02:00
Pim van Pelt
56a2ec21ab
Refactor prometheus-sensors into top-level directory; pull in DHT library
2018-04-17 18:12:41 +02:00
Pim van Pelt
491ba88d1a
Formatting
2018-04-17 15:00:29 +02:00
Pim van Pelt
8bf7b919cc
Factor out DHT
...
It's now its own library (in git@git.ipng.nl:pim/prometheus-sensors)
2018-03-04 16:38:54 +01:00
Pim van Pelt
6898ff8349
Add a simple Prometheus exporter.
2018-02-25 19:59:32 +01:00
Pim van Pelt
13d1ab1fa5
Add app.dht_gpio flag to find DHT sensors
...
Parse this comma separated string to find GPIO pins on which we must
enable DHT sensors. Seperators are space and comma.
Can be empty, single GPIO pins, or a list:
app.dht_gpio=""
app.dht_gpio="5"
app.dht_gpio="5,4,14"
app.dht_gpio="5 4 14"
app.dht_gpio="5, 4 14"
2018-02-13 01:15:14 +01:00
Pim van Pelt
c72ea2af41
Keep a list of DHT sensors
...
s_dht is a list of MAX_DHT elements. Pass the index to the callback
so we can report on individual sensors by 0-based index.
Mon Feb 12 18:26:12 2018 - esp8266_052EE8/stat/dht {"idx":0, "temp":18.80, "humidity":31.6}
Mon Feb 12 18:26:12 2018 - esp8266_052EE8/stat/dht {"idx":1, "temp":18.70, "humidity":36.4}
Mon Feb 12 18:26:12 2018 - esp8266_052EE8/stat/dht {"idx":2, "temp":18.80, "humidity":39.5}
2018-02-12 18:25:36 +01:00
Pim van Pelt
bb62e9b6ae
Add DHT support.
...
Very rough stab just to test the waters -- this will need some
more work.
For now, hard code 4,5,15 pins (as per Sonoff SV), but before
rolling this out, add a config flag for this behavior.
Neat trick -- the presence of dht library in mos.yml triggers
inclusion of the code via define -DMGOS_HAVE_DHT=1
2018-02-11 13:20:36 +01:00
Pim van Pelt
b1472d059d
Respond to upstream refactor
...
6d81a9928e
2018-02-11 12:58:32 +01:00
Pim van Pelt
a0909ab6a0
Blink statusled on recv/xmit MQTT messages; debounce 200ms; trigger button on release; Prime for sonoff-basic // sonoff-sv
2018-01-25 14:52:55 +01:00
Pim van Pelt
7ea1e26020
Fix JSON escaping and scoping
2018-01-24 14:27:58 +01:00
Pim van Pelt
4a083555e8
Clean up RPC response.
...
- Refactor mqtt_publish_stat() to take va_list
- Make publish_stat format its response with json_vprintf() so it is
valid JSON.
- Call publish_stat in channel_set, the only place where the GPIO state
changes
- Return (valid) JSON response in all RPCs
2018-01-24 14:08:29 +01:00
Pim van Pelt
118eb14447
Rewrite statusled implementation.
...
- Read it now from app.config JSON file.
- Allow for inverted status leds (Sonoff et al)
- Clean up unit tests.
2018-01-24 13:33:13 +01:00
Pim van Pelt
f0fa04dc26
s/led_green/led_status/g because not all status leds are green :)
2018-01-22 23:23:43 +01:00