πŸš€ Simple IoT Releases

v0.7.0

v0.7.1

  • upgrade frontend to elm-spa 6 (#197)
  • apply elm-review rules to frontend code and integrate with CI (#222)
  • changes so user does not have to log in if backend or browser is restarted (#474)
    • frontend: store JWT Auth token in browser storage
    • frontend: store JWT key in db
  • use air instead of entr for watching Go files during development. This allows siot_watch to work on MacOS, and should also be userful in a Windows dev setup.

See the Hot reloading the Simple IoT UI for a demo of these changes.

v0.7.2

  • fix race condition with clients that have multi-level nodes (ex Rule client)
    #487
1 Like

v0.8.0

  • update elm-watch to v1.1.2
  • add system, application, and process
    metrics (#256, #255)
1 Like

v0.9.0

  • change default HTTP port from 8080 to 8118. This should reduce conflicts with
    other apps and require us to configure the HTTP port less often. (#495)
  • BREAKING CHANGE: change protobuf point.value encoding from float to double
    (#291) This change introduces a protocol change so all instances in a system
    will need to be updated. If this is a problem, let us know and we can work out
    a migration.
  • sqlite schema: change time storage from two fields (time_s, time_ns) to single
    time that contains NS since Unix epoch.
  • documentation cleanup (#509)
  • move particle code to client and add UI (#503). See Particle client docs.
  • simplify serial MCU encoding (#517)
  • improve serial MCU UI point display
  • use Go crypto/rand API instead of /dev/random. Fixes Windows issues (#517)

Nice to get the Particle code moved to a client. Below, we are reading two 1-wire temperature sensors using the SIOT Particle Cellular Gateway.

v0.10.1

Simple IoT v0.10.1 has support for various Shelly IoT devices. See the documentation for more details.

Shelly IoT devices provide excellent value. They are reasonably priced and have a lot of nice features:

  • an open API
  • support multiple protocols (HTTP, CoAP, MQTT, mDNS, etc)
  • nicely packaged – very small such that you can embed them directly in existing outlet and switch boxes.
  • well documented

This is just the start – we plan to add support for more Shelly devices in the coming months – let us know what you’d like to use. Help testing devices I don’t personally own is greatly appreciated.

shelly support is awesome !! I can deploy it at home now. Perhaps running on a rpi edge gateway

v0.10.2

  • default to control being disabled for shelly devices and add UI to enable control (#544)

v0.10.3

  • use mDNS responses to set shelly IO back online
  • Client Manager: improve filtering of points – see
    Message echo

(Lifecycle stuff is tricky. In this case, we improved the Client Manager to solve this problem as well as help future clients.)

v0.11.0

  • fix rule condition schedule processing (#547)
  • support high rate serial MCU data (#517)

Update 2023-05-30 – This release has issues with Shelly IoT device support (#552)

v0.11.2

  • fix race condition in Client Manager client startup (#552). This fixes a crash
    when detecting Shelly devices.
  • update point merge code to handle complex types
  • more fixes for rule condition schedule processing (#547)
  • fix issue with Shelly device discovery duplicating devices (#552)
1 Like

v0.11.3

  • serial client: add high rate rx count for debugging

image

v0.11.4

  • remove index field from Point data structure. See #565
  • add support for Shelly Plus2PM
  • change Shelly client to use Shelly API Component model

2pm

v0.12.0

  • support Dates in Rule schedule conditions
  • Rules are re-run if any rule configuration changes
  • Display error conditions in Rule nodes
  • hide schedule weekday entry when dates are active
  • hide schedule date entry when weekdays are active
  • support deleting (tombstone points) in NodeDecode and NodeMerge functions

image

1 Like

v0.12.1

  • fix control of Shelly lights
  • required that Point:Key field always be set (#580)
  • improvements in point decode and merge with arrays (not finished)

v0.12.2

v0.12.3

  • switch to elm-tooling to enable building on Linux and MacOS ARM machines
  • enable riscv builds in release

v0.12.4

  • Reworked and simplified decode and merge routines (#589). See
    documentation
  • UI: fixed issue with with paste node rule condition/actions (#600)
  • Can client: fixed various issues (#498)
  • Rule client: fix issue with error reporting (#599)
  • switch to forked mdns package to get rid of closing messages (#558)
  • update nats.go package from v1.20.0 => v1.28.0
  • update nats-server package from v2.9.6 => v2.9.21
  • default NATS server to 127.0.0.1 instead of localhost

v0.12.5

  • add supported for Linux temp sensors (#607)

image

v0.12.6

  • fix issue with email in user node UI (#609)
1 Like

v0.12.7

  • serial client decoding improvements

v0.13.0

  • implement siot install command (#527)
  • update frontend poll rate from 3s to 4s
  • fix siot store (was crashing due to Opened not being defined)

Simple IoT can now install itself, just run: siot install

https://docs.simpleiot.org/docs/user/installation.html#simple-iot-self-install-linux-only

v0.13.1

  • update client manager API to include list of parent node types
  • fix issue with duplicating nodes where there were two copies of Description
    points
  • display decode error count for high-rate serial packets
  • display rate for high-rate serial packets

image