74 Commits

Author SHA1 Message Date
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
Pim van Pelt
3327a561f9 Add channel_get_total() 2018-01-22 22:23:48 +01:00
Pim van Pelt
b78e79223a Add sonoff devices
The S20, TH, Basic and SV all share the same 1-channel pinout.
The 4CH has a few more IO pins.
2018-01-22 19:16:17 +01:00
Pim van Pelt
42524d15b2 Add configs for some banggood light switches:
- YK3_WIFI_SV2 (1 and 2 gang)
- YK3_WIFI_SV5 (3 gang)
2018-01-05 17:07:20 +01:00
Pim van Pelt
4679636fdc Initial checkin. 2018-01-05 16:58:15 +01:00