letscontrolit / upyeasy Goto Github PK
View Code? Open in Web Editor NEWEasy MultiSensor device based on MicroPython
Home Page: https://www.letscontrolit.com
Easy MultiSensor device based on MicroPython
Home Page: https://www.letscontrolit.com
I started the upyeasy board today, but there only seems to be a sensor update when I refresh the devices page.
Also, no data is written to the Domoticz
The current version (alpha v53) appears to need each DS18 to be connected to a different ESP pin. Attempts to use a common pin fail, the different sensor ROM addresses don't seem to be saved and both tasks display exactly the same value.
The enhancement would follow the behaviour of the ESP8266/ESP Easy, and would reduce the number of pins needed for multiple one-wire sensors, and also simplify wiring by enabling a common one-wire bus to be used.
Datastore is used within plugins to write/read persistent data, so that after a reboot the config settings are still present. Datastore however isn't activated yet...
Currently, on my installation, port 80 does not connect to uPyEasy, nor does 8000 or 8080. It does work using port 9000 (entered quickly in Config screen before OSError 128 kicks in). Running on Lolin32Lite, browser is Google Chrome on Win10.
Workaround is to do the above quick fix each time new code is loaded. It would be better to include a user definition method or settings file to adjust before startup; alternatively one could start uPyEasy in AP mode as is done in ESP8266/ESPEasy and configure there.
Question,
Where can i find the upyeasy module source itself?
I readme there is link to wiki, but there is no such info.
Will be nice if that allow us to build it for all platforms supported by Micropython.
Hi all.
Anyone know if this project is still ative by author? I see that the last commit was 4 years ago.
In my opinion this is a amazing project!
Thank you.
Working on Unix port....
For example on Domoticz config the publish and subscribe topic could b setup by default if the user not change them...
Also something strange with pins is happening, the config file is not initialized with pin numbers, so the first time you chose a specific pin it give me an error. second time it works ok. (as far as I can see the config file is updated after this error)
Tks
It there some good reason why docs are in doc/pdf?
DOC/PDF has disadvantages:
How about to move docs to markdown? Maybe better to this repository instead if wiki because it supports branching workflow, pull requests etc.
I would like to suggest to add a license file.
For plugin's is the variable valueDx used twice: once for storing 'decimals' value coming from the plugin webpage and once for sending values to controllers/webpages.
This is confusing: valueD should be used only for storing the 'decimals' setting and not for sending data.
For sending data the new variable valueVx (x=1..10) should be used.
Is it possible to introduce mDNS support? I think it made access to device webinterface easy like at this project: https://github.com/loboris/MicroPython_ESP32_psRAM_LoBo/wiki/mdns
There possible two states:
And thanks for your great work.
Lower-priority cosmetic improvements.....
.... others can be added as found.
To fix it I had to add this on "def init(self) : " at switch.py
self.pincnt =pincnt
self.valuecnt=valuecnt
self.stype=stype
Please consider porting uPyEasy to the new Sonoff Zigbee Bridge (Sonoff ZBBridge)
https://www.itead.cc/sonoff-zbbridge.html
Itead has just launched Sonoff ZBBridge as an inexpensive Sonoff Zigbee Bridge which is based on a similar design as the Sonoff RF Bridge 433 (which several ESP8266 firmware already has support for).
https://www.cnx-software.com/2020/04/16/sonoff-zbbridge-wifi-to-zigbee-gateway/
According to the teardown on notenoughtech.com it sounds as if it is based on Silicon Labs EFR32MG21 (EFR32 Mighty Gecko) for Zigbee 3.0 radio module support and ESP8266 (ESP8266EX) for WiFi and bridge/gateway/controller software
https://notenoughtech.com/home-automation/sonoff/sonoff-zigbee-bridge-preview/
From the images it even looks like they are reusing the same injection moulds as for the Sonoff RF Bridge 433 housing/enclosure
https://sonoff.tech/product/accessories/433-rf-bridge
https://www.itead.cc/sonoff-rf-bridge-433.html
https://www.itead.cc/wiki/Sonoff_RF_Bridge_433
Tasmota does something similar with Zigbee2Tasmota but by connecting an ESP8266 to a Texas Instrument CC2530 module instead however it too is using a serial communication protocol, see:
https://tasmota.github.io/docs/Zigbee/
EZSP (EmberZNet Serial Protocol) interface that Silicon Labs uses is also well documented and already used by open source projects, see example Home Assistant's ZHA integration component via zigpy and bellows:
https://github.com/zigpy/bellows
https://www.home-assistant.io/integrations/zha/
https://www.silabs.com/documents/public/user-guides/ug100-ezsp-reference-guide.pdf
When I click Add in the Rules section, upyEasy opens a window in Scripts.
Herunder a sequence: Go to Rules, Add, close in Scripts and back ik Rules again.
`stack: 2000 out of 15360
GC: total: 96000, used: 79840, free: 16160
No. of 1-blocks: 1264, 2-blocks: 157, max blk sz: 901, max free sz: 162
570881462.097 <HTTPRequest object at 3ffbd890> <StreamWriter > "GET /rules"
2018-02-02 10:10:44 [debug] uPyEasy-uPyEasy: Pages: Authorize User!?
2018-02-02 10:10:44 [debug] uPyEasy-uPyEasy: Pages: Display Rules Page
2018-02-02 10:10:44 [debug] uPyEasy-uPyEasy: Utils: uPyEasy Name
stack: 2000 out of 15360
GC: total: 96000, used: 77376, free: 18624
No. of 1-blocks: 1216, 2-blocks: 152, max blk sz: 901, max free sz: 140
570881462.097 <HTTPRequest object at 3ffbb5e0> <StreamWriter > "GET /static/upyeasy.css"
stack: 2000 out of 15360
GC: total: 96000, used: 78928, free: 17072
No. of 1-blocks: 1261, 2-blocks: 159, max blk sz: 901, max free sz: 140
570881462.097 <HTTPRequest object at 3ffc2460> <StreamWriter > "GET /static/upyeasy.js"
static/upyeasy.css
static/upyeasy.js
stack: 2000 out of 15360
GC: total: 96000, used: 89776, free: 6224
No. of 1-blocks: 1439, 2-blocks: 185, max blk sz: 901, max free sz: 140
570881462.097 <HTTPRequest object at 3ffc8650> <StreamWriter > "GET /rule_setting?oper=add"
2018-02-02 10:10:52 [debug] uPyEasy-uPyEasy: Pages: Authorize User!?
2018-02-02 10:10:52 [debug] uPyEasy-uPyEasy: Pages: Entering rule Settings Page
2018-02-02 10:10:52 [debug] uPyEasy-uPyEasy: Pages: GET
2018-02-02 10:10:52 [debug] uPyEasy-uPyEasy: oper
2018-02-02 10:10:52 [debug] uPyEasy-uPyEasy: Pages: Oper: add
2018-02-02 10:10:52 [debug] uPyEasy-uPyEasy: Pages: Add rule
2018-02-02 10:10:52 [debug] uPyEasy-uPyEasy: Utils: uPyEasy Name
stack: 2000 out of 15360
GC: total: 96000, used: 77456, free: 18544
No. of 1-blocks: 1221, 2-blocks: 149, max blk sz: 901, max free sz: 163
570881462.097 <HTTPRequest object at 3ffbd7d0> <StreamWriter > "GET /static/upyeasy.css"
stack: 2000 out of 15360
GC: total: 96000, used: 79008, free: 16992
No. of 1-blocks: 1266, 2-blocks: 156, max blk sz: 901, max free sz: 163
570881462.097 <HTTPRequest object at 3ffc44c0> <StreamWriter > "GET /static/upyeasy.js"
static/upyeasy.css
static/upyeasy.js
stack: 2000 out of 15360
GC: total: 96000, used: 89952, free: 6048
No. of 1-blocks: 1444, 2-blocks: 178, max blk sz: 901, max free sz: 148
570881462.097 <HTTPRequest object at 3ffc88c0> <StreamWriter > "GET /rules"
2018-02-02 10:10:59 [debug] uPyEasy-uPyEasy: Pages: Authorize User!?
2018-02-02 10:10:59 [debug] uPyEasy-uPyEasy: Pages: Display Rules Page
2018-02-02 10:10:59 [debug] uPyEasy-uPyEasy: Utils: uPyEasy Name
stack: 2000 out of 15360
GC: total: 96000, used: 77392, free: 18608
No. of 1-blocks: 1216, 2-blocks: 151, max blk sz: 901, max free sz: 163
570881462.097 <HTTPRequest object at 3ffbcde0> <StreamWriter > "GET /static/upyeasy.css"
stack: 2000 out of 15360
GC: total: 96000, used: 78944, free: 17056
No. of 1-blocks: 1261, 2-blocks: 158, max blk sz: 901, max free sz: 163
570881462.097 <HTTPRequest object at 3ffc3330> <StreamWriter > "GET /static/upyeasy.js"
static/upyeasy.css
static/upyeasy.js
`
The "decimals" fields in these 2 plugins don't seem to work as expected. When setting a value, e.g. 1, some unrelated values (phone numbers) are shown in the dropdown. If a value is entered, it doesn't seem to be saved - it has gone if we go back into the plugin a second time. And the displayed values in the main Devices page still have an arbitrary and variable number of decimal places.
I (1106615) wifi: n:7 0, o:7 1, ap:255 255, sta:7 0, prof:1
I (1107645) wifi: n:7 1, o:7 0, ap:255 255, sta:7 1, prof:1
I (1113585) wifi: n:7 0, o:7 1, ap:255 255, sta:7 0, prof:1
I (1114605) wifi: n:7 1, o:7 0, ap:255 255, sta:7 1, prof:1
I (1121565) wifi: n:7 0, o:7 1, ap:255 255, sta:7 0, prof:1
I (1122595) wifi: n:7 1, o:7 0, ap:255 255, sta:7 1, prof:1
I (1129555) wifi: n:7 0, o:7 1, ap:255 255, sta:7 0, prof:1
I (1130585) wifi: n:7 1, o:7 0, ap:255 255, sta:7 1, prof:1
I (1137645) wifi: n:7 0, o:7 1, ap:255 255, sta:7 0, prof:1
I (1138565) wifi: n:7 1, o:7 0, ap:255 255, sta:7 1, prof:1
I (1241585) wifi: n:7 0, o:7 1, ap:255 255, sta:7 0, prof:1
I (1242605) wifi: n:7 1, o:7 0, ap:255 255, sta:7 1, prof:1
I (1297595) wifi: n:7 0, o:7 1, ap:255 255, sta:7 0, prof:1
I (1298625) wifi: n:7 1, o:7 0, ap:255 255, sta:7 1, prof:1
I have a Dallas temp sensor setup on an ESP32. Version 0.2.2. Some observations.
The Device Resolution setting does not seem to work. No matter what I set it to it's always on 9bit whenever I revisit the settings page.
In the value settings the Decimals settings does not seem to make any difference. There are always 4 decimals displayed in the devices page no matter what is set in the settings value. Whenever I revisit the settings page there is a blank in the setting box.
I put a formula in the formula field in the same format as in ESPEasy and it seems to not work at all.
Like this>> %value%*9/5+32 <<. Celcius to Farenheit.
I'm guessing that uPyEasy requires another format? Or not implemented yet?
It does send the temp to my syslog server at the correct interval. Appears to be correct temp too.
Don't really know if these are bugs or just lack of implementation though.....
Is or will there be support for ESP8266?
Menu tabs functioning, but hardware tab is taking a long time...
Currently, (in Alpha v53) it's necessary to type in "import upyeasy, upyeasy.main()" or to manually download a main.py file to carry out these commands and initiate startup of uPyEasy. Include these in the frozen code so it happens automatically.
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.