iot_devices VS concise-encoding

Compare iot_devices vs concise-encoding and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
iot_devices concise-encoding
5 22
3 255
- -
6.7 7.2
13 days ago 7 months ago
Python ANTLR
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

iot_devices

Posts with mentions or reviews of iot_devices. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-16.
  • Ask HN: Tell us about your project that's not done yet but you want feedback on
    68 projects | news.ycombinator.com | 16 Aug 2023
    Wow, what a great idea for a thread!

    I'm trying to pare down my personal projects to just the really exciting ones, so I don't have much, butni think the most appropriate to the thread is https://github.com/EternityForest/iot_devices

    It's mean to be a cross-framework library for creating device integrations, so you can, say, write a handler for RTL SDR weather stations, and use it in a simple script up to a mega framework.

    I kind of dislike the way HASS and others handle automations where they have special purpose primitives for everything that needs lots of hand written code.

    I just have config entries, they must be strings, and data points, they can be strings, numbers, bytes, or objects. You can put metadata on them. There's also a few other utilities like the ability to make subdevices, and the ability to request things from the host.

    There are no special subclasses, a light bulb is just a device with a brightness point.

    It currently runs my security system with object detection recording, QR decoding if desired, multiple regions, motion detection without decoding every frame, and subsecond latency streaming to the browser, a nice recordings browser that can view a recording while it's being made, etc.

  • How I wrote my own Smart Home software
    6 projects | news.ycombinator.com | 4 Jun 2023
    My HA platform project started in 2013. Every few months or so I check back to see if HA has progressed far enough that I can ditch one of the last custom apps in my life.

    It's getting there. But it's not quite there yet. Last I checked the logging still saves every change, it's not easy to set up so that it will only save average/min/max over time to save SD wear.

    Creating new integrations is easy but still not quite a five minute job like it is with my extension API(https://github.com/EternityForest/iot_devices)

    But yet, having custom software in one's life is generally IMHO far more of a liability than an asset.

    So what I actually do is just use YoLink and Google assistant for everything I possibly can, and use custom software for video recording and unusual stuff YoLink doesn't do.

    I'd love to have a one size fits all "If it need automating, use this" platform, and HA seems like it's got the potential.... but just using the YoLink proprietary platform is the lazy, trouble free, super cheap way.

  • Ask HN: Who Wants to Collaborate?
    58 projects | news.ycombinator.com | 1 Jan 2022
    I'm working on a standard for easy drop-in home IoT drivers: https://github.com/EternityForest/iot_devices

    Maybe you could go one level of meta up and instead of working on reusable components, work on reusable definitions for component interfaces.

    Reuse is hard because you need a bunch of glue code. But if you had, like a standard for a toolbar, that knew how to find all the ToolbarAble objects, and the shopping cart icon just showed up, etc, things would get easier.

    The shopping cart could know to look for all the payment requesting components declared in your Big Project File or whatever, and everything could stay modular ish?

    GitHub is already the standard place to share generic projects.

  • Home automation dashboard generator in the terminal
    1 project | /r/commandline | 15 Dec 2021
    Source code can be found here: https://github.com/EternityForest/iot_devices
  • Minimalistic framework for creating IoT reusable Python IoT device drivers
    1 project | /r/coolgithubprojects | 14 Dec 2021

concise-encoding

Posts with mentions or reviews of concise-encoding. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-07.
  • Ask HN: What Underrated Open Source Project Deserves More Recognition?
    63 projects | news.ycombinator.com | 7 Mar 2024
  • It's Time for a Change: Datetime.utcnow() Is Now Deprecated
    5 projects | news.ycombinator.com | 19 Nov 2023
    "Local time" is time zone metadata. I've written a fair bit about timekeeping, because the context of what you're capturing becomes very important: https://github.com/kstenerud/concise-encoding/blob/master/ce...
  • RFC 3339 vs. ISO 8601
    4 projects | news.ycombinator.com | 31 Aug 2023
    This is basically why I ended up rolling my own text date format for Concise Encoding: https://github.com/kstenerud/concise-encoding/blob/master/ct...

    ISO 8601 and RFC 3339 are fine for dates in the past, but they're not great as a general time format.

  • Ask HN: Please critique my metalanguage: “Dogma”
    2 projects | news.ycombinator.com | 26 Feb 2023
    This looks similar to https://concise-encoding.org/

    Dogma was developed as a consequence of trying to describe Concise Binary Encoding. The CBE spec used to look like the preserves binary spec, full of hex values, tables and various ad-hoc illustrations: https://preserves.dev/preserves-binary.html

    Now the CBE formal description looks like this: https://github.com/kstenerud/concise-encoding/blob/master/cb...

    And the regular documentation looks like this: https://github.com/kstenerud/concise-encoding/blob/master/cb...

    Dogma also does text formats (Concise Encoding has a text and binary format, so I needed a metalanguage that could do both in order to make it less jarring for a reader):

    https://github.com/kstenerud/concise-encoding/blob/master/ct...

    https://github.com/kstenerud/concise-encoding/blob/master/ct...

  • Concise Encoding Design Document
    1 project | news.ycombinator.com | 7 Nov 2022
  • Keep ’Em Coming: Why Your First Ideas Aren’t Always the Best
    2 projects | news.ycombinator.com | 7 Nov 2022
    Hey thanks for taking the time to critique!

    I actually do have an ANTLR file that is about 90% of the way there ( https://github.com/kstenerud/concise-encoding/tree/master/an... ), so I could use those as a basis...

    One thing I'm not sure about is how to define a BNF rule that says for example: "An identifier is a series of characters from unicode categories Cf, L, M, N, and these specific symbol characters". BNF feels very ASCII-centric...

  • Working in the software industry, circa 1989 – Jim Grey
    5 projects | news.ycombinator.com | 11 Jul 2022
    It's still in the prerelease stage, but v1 will be released later this year. I'm mostly getting hits from China since they tend to be a lot more worried about security. I expect the rest of the world to catch on to the gaping security holes of JSON and friends in the next few years as the more sophisticated actors start taking advantage of them. For example https://github.com/kstenerud/concise-encoding/blob/master/ce...

    There are still a few things to do:

    - Update enctool (https://github.com/kstenerud/enctool) to integrate https://cuelang.org so that there's at least a command line schema validator for CE.

    - Update the grammar file (https://github.com/kstenerud/concise-encoding/tree/master/an...) because it's a bit out of date.

    - Revamp the compliance tests to be themselves written in Concise Encoding (for example https://github.com/kstenerud/go-concise-encoding/blob/master... but I'll be simplifying the format some more). That way, we can run the same tests on all CE implementations instead of everyone coming up with their own. I'll move the test definitions to their own repo when they're done and then you can just submodule it.

    I'm thinking that they should look more like:

        c1
  • Breaking our Latin-1 assumptions
    2 projects | news.ycombinator.com | 18 Jun 2022
    Ugh Unicode has been the bane of my existence trying to write a text format spec. I started by trying to forbid certain characters to keep files editable and avoid Unicode rendering exploits (like hiding text, or making structured text behave differently than it looks), but in the end it became so much like herding cats that I had to just settle on https://github.com/kstenerud/concise-encoding/blob/master/ct...

    Basically allow everything except some separators, most control chars, and some lookalike characters (which have to be updated as more characters are added to Unicode). It's not as clean as I'd like, but it's at least manageable this way.

  • I accidentally used YAML.parse instead of JSON.parse, and it worked?
    8 projects | news.ycombinator.com | 23 Jan 2022
    You might get a kick out of Concise Encoding then (shameless plug). It focuses on security and consistency of behavior.

    https://concise-encoding.org/

    In particular:

    * How to deal with unrepresentable values: https://github.com/kstenerud/concise-encoding/blob/master/ce...

    * Mandatory limits and security considerations: https://github.com/kstenerud/concise-encoding/blob/master/ce...

    * Consistent error classification and processing: https://github.com/kstenerud/concise-encoding/blob/master/ce...

  • Ask HN: Who Wants to Collaborate?
    58 projects | news.ycombinator.com | 1 Jan 2022
    In the above example, `&a:` means mark the next object and give it symbolic identifier "a". `$a` means look up the reference to symbolic identifier "a". So this is a map whose "recusive link" key is a pointer to the map itself. How this data is represented internally by the receiver of such a document (a table, a struct, etc) is up to the implementation.

    > - Time zones: ASN.1 supports ISO 8601 time types, including specification of local or UTC time.

    Yes, this is the major failing of ISO 8601: They don't have true time zones. It only uses UTC offsets, which are a bad idea for so many reasons. https://github.com/kstenerud/concise-encoding/blob/master/ce...

    > - Bin + txt: Again, I'm unclear on what you mean here, but ASN.1 has both binary and text-based encodings

    Ah cool, didn't know about those.

    > - Versioned: Also a little unclear to me

    The intent is to specify the exact document formatting that the decoder can expect. For example we could in theory decide make CBE version 2 a bit-oriented format instead of byte-oriented in order to save space at the cost of processing time. It would be completely unreadable to a CBE 1 decoder, but since the document starts with 0x83 0x02 instead of 0x83 0x01, a CBE 1 decoder would say "I can't decode this" and a CBE 2 decoder would say "I can decode this".

    With documents versioned to the spec, we can change even the fundamental structure of the format to deal with ANYTHING that might come up in future. Maybe a new security flaw in CBE 1 is discovered. Maybe a new data type becomes so popular that it would be crazy not to include it, etc. This avoids polluting the simpler encodings with deprecated types and bloating the format.

What are some alternatives?

When comparing iot_devices and concise-encoding you can also consider the following projects:

vanna - 🤖 Chat with your SQL database 📊. Accurate Text-to-SQL Generation via LLMs using RAG 🔄.

cue - The home of the CUE language! Validate and define text-based and dynamic configuration

r0b0 - r0b0 is a communication system for connecting human interface device (HID) hardware and system software; an `aconnect` for anything.

joystick - A full-stack JavaScript framework for building stable, easy-to-maintain apps and websites.

SeleneCMS - CMS built as a Symfony Bundle

postal-codes-json-xml-csv - Collection of postal codes in different formats, ready for importing.

openai-kiss - Simple shell scripts to access OpenAI API

futurecoder - 100% free and interactive Python course for beginners

code_nitro

FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project

jekyll-sqlite - A Jekyll plugin that lets you use SQLite database instead of data files as a data source.

cue - CUE has moved to https://github.com/cue-lang/cue