Skip to content

Updated to install with working versions

Notifications You must be signed in to change notification settings

kebasaa/h4installer

 
 

Repository files navigation

logo

"1-click" Library ecosystem installer and command-line utility for H4, H4Plugins and dependent libraries

Phil Bowles passed away in 2022, and this project has therefore received little maintenance. Hamza Hajeir has been keeping the repositories up and running. This installer version was updated from Phil Bowles' using Hamza Hajeir's environment.

NOTE: You must use the following board definition versions: For ESP8266, use 2.7.4; for the ESP32, use 1.0.6

CHANGELOG:

v0.0.3 2023-04-02

New installer based on Phil Bowles' version 0.0.2, updated with Hamza Hajeir's environment

v0.0.2 2021-06-29

Added ESPAsyncUDP for ESP8266 builds of h4plugins


KNOWN ISSUES:

Github limits unauthentiated accesses to 60/hour, after that it gives you an "rate limited" error. The script makes about 12 or 13 calls when installing h4plugins, meaning that if 5 usages worldwide happen at the same time, the last will get a "rate limt" erro. No solution yet but to wait an hour and try again.

Additional information

For more information, have a look at Phil Bowles' Youtube channel (instructional videos)


Contents


Overview

Watch the video! Running the h4installer

Installing the (up to) 9 libraries and further tools required by H4Plugins can be tedious, especially if you compile for both ESP32 and ESP8266. The h4installer reduces this process to a "1-click" action which automatically installs all of the required libraries, their dependencies ( if they are older than the current master branch on github) and the relevant ArduinoIDE tools.

Features:

  • Downloads, unzips and installs any library in the dependency chain whose version is less than the latest public master
  • Where a library requires async TCP support, downloads either (or both) of:
  • Where a library is dependent upon Forked ESPAsyncWebserver, downloads either (or both) of:
  • Installs the ESP Exception Decoder (required when submitting issues on any crash)
  • Installs advanced optimised board definitions and special memory model for ITEAD SONOFF devices
  • If h4plugins is installed, additionally installs (Currently on Windows systems only):
    • Windows desktop UI integration to control H4 devices
  • Provides flexible command-line control of H4 devcies (all OS)

The "menagerie" roadmap is now (almost) history

Exisitng users should already be familiar with the "menagerie" and its installation roadmap

roadmap

The related / dependent libraries

Name Provides Notes
Forked AsyncTCP "Glue" to LwIP (ESP32) Important bugfixes
Forked ESPAsyncTCP "Glue" to LwIP(ESP8266) Missing features added
Forked ESPAsyncWebserver Basis of webUI in H4Plugins Several major bugfixes
roadmap PMB Tools '32/'8266 HAL and utility functions
roadmap AardvarkTCP Simple Large-payload Async TCP API-compatible with ESPAsyncTCP, seamless TLS/SSL
roadmap PangolinMQTT Async MQTT Client QoS 0/1/2 Fully 3.1.1 compliant. Large payloads
roadmap ArmadilloHTTP Async HTTP/S Client Simple send/callback of large payloads
roadmap H4 Scheduler/Async Timers
roadmap H4/Plugins Full Async IOT Firmware Webserver, MQTT, OTA, NTP, HTTP etc etc

If you imagine a starting point on the roadmap, then the installer will work backwards from there to the start, installing every out-of-date library it finds on the route, making allowances for whether you have the ESP32 and/or ESP8266 core(s) installed. It also updates the ArduinoIDE tools relevant to the chosen library and installed core(s).

When you run it, it asks for that starting point library and once finished, the enitre environment is "ready to rock". It truly is a 1-click solution.


Installation

  1. h4installer requires Python 3. Download and install from here making sure you start with the "customised install" option and then tick the box to "Add Python to environment variables"

pytick

  1. Download and unzip this repo. Take care when choosing a location to unzip to as this location must be permananent: files within the repo are referenced by the command-line utility (amongst others). The author, for example, has it installed in C:\Users\phil\Documents\h4installer

Running the installer

This will depend on which OS you use:

  • Windows: double-click install.bat you will be prompted for the starting library (see important note below)
  • Others: enter command py install_h4plugins.py < starting library > e.g. py install_h4plugins.py PangolinMQTT

That's all there is to it! The following libaries / tools will be installed depending on the chosen starting library

libs

Important note for Windows users installing h4plugins

The installer updates the registry with the Windows desktop UI extensions, which require administrator access. You must start install.bat using: right click / Run as Administrator

runasadmin

On success, you should see something resembling this:

done

On Windows, you will then see this "context" (right click) menu in the network explorer for all your H4 devices:

upnp


Command-line utility

H4 Installer also adds a utility that can be run from anywhere to control your H4 devices (this is what the Network Explorer context menu handler uses [ shown above ])

usage


Issues

This version of the H4installer

Just create a Github issue

The H4 plugins: If you want a quick resolution, please follow these rules:

As I am not the creator, nor do I keep the libraries up-to-date, I can't and won't fix any issues. Due to Phil's passing, you may not receive any replies to issues, but you can try the following:

  1. As with all H4 and H4Plugins libraries, please make sure you have read all the relevant documentation relating to the issue and watched any videos on the Youtube channel (instructional videos). Please also subscribe to the channel for notifications of news and updates.

  2. If you still think there is a problem, then join the Facebook H4 Support / Discussion group and report the issue briefly there. This alerts other users to potential problems and allows an initial assessment.

  3. If there is a genuine issue then you will be referred to Raising H4/H4Plugins issues after which you are advised to create a full github issue report.

  4. Failing to make an initial report in the Facebook H4 Support / Discussion group and simply starting with a github issue, or failing to include all of the information required in Raising H4/H4Plugins issues is likely to result in a long delay before it gets picked up.


(c) 2021 Phil Bowles

About

Updated to install with working versions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.1%
  • VBScript 1.9%
  • Batchfile 1.0%