Giter Club home page Giter Club logo

espbuddy's People

Contributors

gn0st1c avatar soif 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

espbuddy's Issues

How to

Hi,

How I can run espbuddy.php ?

Which software I need ?

Thanks

Reorganise built-in help command

The built-in help action needs :

  • better explanations,
  • examples
  • removing duplicate descriptions

May be refactor actions as inherited classes of a master action class, with documentation included in each action class.

Per config or host : Git Checkout / pull

Each Host and/or config should be able to auto checkout or pull git versions

  • checkout branch or tag
  • pull branch
  • behavior after checkout:
    • upload only if clean
    • allows modifications
    • always clean (stash /unstash)

Upload Second step without delay

Instead of waiting for 16s, that the intermediate firmware is booted, ping the host until it answers at least 2 time, wait 1s, then upload the second one. Die on 25s timeout

Clear TODOs

Want to help?

  • Check the lib/espbuddy_class.php
  • Look for TODOs
  • Fix Them
  • Submit a PR to the develop branch (for each fix)

Thank you ๐Ÿบ

Support for .bin.gz images

I was looking for updating our old 2-step updater image to be built using the latest core 2.7.0, so it can support .bin.gz images.

But why re-invent the wheel if there is EspBuddy :)

So do you think it is possible you can make EspBuddy our default 2-step updater, supporting .gz images?

I was thinking about how to make the build fit, as the core 2.7.0 builds are quite a bit larger than the older core versions.
So maybe we can leave out the SPIFFS lib and let ESPEasy save some basic needed settings into the EEPROM section (which we don't yet use).
For example:

  • WiFi credentials
  • Current set hostname
  • Something else?

This way we don't need to interpret the settings files, or even have to bother looking at the SPIFFS.
Just allow to have a very basic interface to upload the new (.bin.gz) image.

Full firmware name

The Firmware names (saved in the host folder) should include

  • The version as contained in the repo code
  • Git Branch
  • Latest Tag
  • The commit short number IF (commit later than the Tag OR No previous Tag)

Spread The World

The more users, the more developers will join, the more features and bugs fixed

  • Star the project (by clicking the โญ๏ธ at the top of this page)
  • Post on forums where there are users/developers that might like EspBuddy,
  • Make a blog article
  • Tweet about it, post on Facebook
  • Etc...

BTW add links below to pages linking to EspBubby

EspEasy upload via web interface

EspEasy pre-build binaries has already active firmware upload via web interface and do not have Arduino OTA functionality.
Currently, to use EspBuddy, first we have to build EspEasy binaries with Arduino OTA support enabled (this adds +10kb to firmware size), update firmware in device via web interface or serial, enable Arduino OTA in EspEasy Advanced setting page, reboot and then device should be visible to EspBuddy via Arduino OTA mechanism.

To simplify this process and give possibility to use pre-build binaries of EspEasy I would propose to implement in EspBuddy upload via web interface, probably with help of curl function, as a option to Arduino OTA.

error when I try to upload file?

22:39:27 [DEBUG]: Options: {'esp_ip': '192.168.2.2', 'host_port': 43449, 'image': '/var/www/html/EspBuddy/firmwares/ESPEasyUploader.OTA.1m128.esp8266.bin', 'host_ip': '0.0.0.0', 'auth': '', 'esp_port': 8266, 'spiffs': False, 'debug': True, 'progress': True}
22:39:27 [INFO]: Starting on 0.0.0.0:43449
22:39:27 [INFO]: Upload size: 288048
22:39:27 [INFO]: Sending invitation to: 192.168.2.2
22:39:37 [ERROR]: No Answer

FATAL ERROR: First Upload Failed !!!

I can ping device ip with no problem? Why device is no answering?

Global Preferences

  • Keep Previous (may be a number to rotate previous versions)
  • Firmware name separator

Flashing a custom Firmware to Sonoff DIY devices, from the factory firmware

I've tested all "sonodiy" actions, except the 'flash' command. Because I currently have only one device, and flashing it can not be reversed to the factory firmware, so I would'nt be able to make further tests.

It should work asis, if the device accept an external URL, as the default Tasmota one currently configured in the config-sample.php file.

If it fails, it might be necessary to download the firmware directly to a local web server, and then change the URL according to the new location.

  • Try with a local hostname, ie:
    http://mycomputer.local/firmare.bin

  • or even directly with an IP address, ie:
    http://192.168.0.123/firmare.bin

I would appreciate if you could PLEASE report if it works correcly and what were the exact steps that you tried.

Thank you

Can't get it working for ESPEasy 2.0 and ESP8285

Hi,
I love the idea of your wrapper and would like to use them on my Sonoff Touch switches which are based on ESP8285. Due to the size of the firmware I have to use the two step approach.

Unfortunately even the first upload step fails. The concerning device runs ESPEasy 2.0.0-dev12.

The image compiles after removing -DUSE_CUSTOM_H from the options. Otherwise the build fails because I have no custom parts.
The wizard finds my device and I can retrieve information from it, like version.
But the upload fails with the following lines

** Uploading Intermediate Uploader Firmware ****************************************************************************
-> /opt/EspBuddy/bin/espota.py -r -d -i 192.168.1.61  -f /opt/EspBuddy/firmwares/ESPEasyUploaderMega.OTA.1m128.bin
08:30:36 [DEBUG]: Options: {'esp_ip': '192.168.1.61', 'host_port': 47070, 'image': '/opt/EspBuddy/firmwares/ESPEasyUploaderMega.OTA.1m128.bin', 'host_ip': '0.0.0.0', 'auth': '', 'esp_port': 8266, 'spiffs': False, 'debug': True, 'progress': True}
08:30:36 [INFO]: Starting on 0.0.0.0:47070
08:30:36 [INFO]: Upload size: 288064
08:30:36 [INFO]: Sending invitation to: 192.168.1.61
08:30:46 [ERROR]: No Answer

I've tried to start this manually and telnet connects on port 47070.

Any idea?

Here are the relevant parts of my config.php

$cfg['repos']['espeasy']['path_repo']                           ="/opt/ESPEasy/";

$my_espeasy_flags ='-DBUILD_DEV=\"'.$my_build.'\" -DMY_IP=\"{{host_ip}}\" -DMY_AP_IP={{host_ip1}},{{host_ip2}},{{host_ip3}},{{host_ip4}} -DMY_NAME=\"{{host_name}}\" -DMY_UNIT={{host_ip4}}';

$cfg['configs']['espeasy_1024_8285']['repo']                                                    ="espeasy";
$cfg['configs']['espeasy_1024_8285']['environment']                                             ="normal_ESP8285_1024";
$cfg['configs']['espeasy_1024_8285']['exports']['PLATFORMIO_BUILD_FLAGS']                       =$my_espeasy_flags;
$cfg['configs']['espeasy_1024_8285']['2steps']                                                  =true;

$cfg['hosts']['sonoff_touch']['ip']             ="192.168.1.61";
$cfg['hosts']['sonoff_touch']['config']         ="espeasy_1024_8285";

Any help is appreciated

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.