openHAB 4.0 wishlist

This work is ongoing. Anyone who wants to help out please see Rework Rules Documentation · Issue #1855 · openhab/openhab-docs · GitHub

I narrow the pane to simulate this. Grab and drag the bar separating the preview and the YAML and drag it to the right until the preview is roughly phone screen sized.

Nashorn JS, JS Scripting, Jython, jRuby, Groovy? and even Blockly already support personal libraries. Rules can also call other rules. Are you asking for something different from thiese?

I think this is also already possible from JS Scripting, Groovy, and jRuby relatively easily, Jython and Nashorn JS not as easily. I could be wrong on that but it seems all the right OSGI services are available.

A Helper library will always be required unless you go external. If external is OK, HABApp already has rock solid Python 3 support.

However, if you look at jRuby, right now the helper library can be installed through MainUI, For JS Scripting it comes with the add-on, nothing separate to install.

A SCRIPT transform would probably be the approach here. There is an issue open to support inline script transforms so something simple like this coule be included all in a .items file.

This is not really actionable. “Bring me a better rock!” Please provide specifics. The kinds of things that could be turned into an issue with clear success criteria.

I’m not sure what you mean here. Are you saying rewrite OH in C/C++ or are you saying you don’t want to mess with Java in rules? If the former, well

you know how likely that is going to be. If the latter, that’s kind of the point of the helper libraries. JS Scripting and jRuby go to great lengths to make sure you only deal with JS/Ruby classes and Objects in your rules.

I’m confused then. A Location is just a Group with a location tag. Find it in the Items settings page or click through to edit it from the Model view by selecting it and clicking the > icon to the right of the card to open the Item config page.

Probably edit your original one. That;s what I would do. But if it’s something you have a question about or want replies/discussion create a new post.

1 Like

Would be really cool to show the preview wondiw size in pixels. And one step further allow height shrinking too.

Dear Santa this is one of my bigest wish:

1 Like

Thanks Rich, your work on this forum has been invaluable in my OH Journey.

I’m using JS Scripting – referencing the [JSR223 doc] (JSR223 Scripting | openHAB) , but don’t see how to get where I’d like to go:
Define a binding that would allow creation of a TideTable thing, once appropriate parameters are set (station ID, offset minutes, and update interval), channels would be available for the most recent and upcoming high and low tide times. I’m currently doing this for one location with everything hard-coded in a rule, but would like to add a second location and thought I’d generalize it to something that was easy to reuse. I will take a look at using the unofficial APIs to accomplish this.

My wish list is pretty simple. I want a better-looking thermostat widget for dual setpoint thermostats and a reboot schedule for openhabian in the web-giu. And please don’t tell me to just use crontab. I have never, ever, ever, got crontab to work for a reboot on any Linux install.

  • WebUi improvements:

    • oh-input:
      support ‘type: select’ and provide a solution to handle the entries so we are finally able to make use of nice filled comboboxes in the new ui.
      That way we can have a nice selector filled with one’s favorite selections wether it’s a simple radio channel selector or a complex mode selector without wasting space for a workaround by using buttons.
      It would be nice if there would be a way to map the entries for the oh-input in the oh-conf directory and it’s item files directly. In the past i’ve used the mappings= parameter in the sitemap, but since the new ui is here i’m rarely using the basicui anymore.
      → respective github issue #982 Can't add selection elements to oh-input type 'select' · Issue #982 · openhab/openhab-webui · GitHub

    • ohchart-series/echarts:
      make use of the respective locale / language and measurement System for all chart series.
      At the moment every user is being forced to use graphs in the English way of things.
      example see line 23: openhab-webui/oh-calendar-series.js at main · openhab/openhab-webui · GitHub ( no update since implementation )
      This code shows that a calendar chart ( also the other series ) will always show the values with 3 decimal places and use the English way of displaying the values.
      In europe we are using the #,### instead of a #.### as thousand separators in numeric values. This can really be confusing at times.
      It would be nice to remove this hardcoded way and make use of the respective openhab instance settings or use the active system locale for all series.
      for the values it would be nice if we could make use of openhab’s .displayState as a formatter for the values that are being shown in the graphs or even support
      echarts formatter function in some way.

  • A community developed ultra low power standby wifi audio-sink, that will be ready when oh 4.0 is =)

    • maybe use a cheap esp32 wroom for instance and some dac/amp combination as a base.
    • a relay/mosfet that completely cuts power from the amp while nothing is streamed and outputted on the speaker.
    • case will be 3d printable and also community designed.
    • optional: small display that will show whatever the user wants openhab to show. wether it’s temperature, notifications… preferably a small e-ink to keep power draw low or even a small oled or lcd.
    • optional: Adressable led stripe support for notification blinking or whatever.

    examples for inspiration https://squeezeesp32.blogspot.com/ https://raspiaudio.com/produit/esp-muse-luxe

  • A community developed 3d printable weather station esp32 based or similar.

    • maybe also esp32 based
    • optimized to be printable on most 3d printers
    • sensors: wind, water, lightning, temperature, humidity … to be discussed. maybe modular design.
    • option to be powerbank driven and solar rechargeable
1 Like

Mark, I think it already works good enough:

It actually searches over all text that it finds that is displayes which is why it also finds cOFFee when you search for OFF :wink:

The search bar doesn’t allow you to specify what parameter you want to search against but to me it works just fine.

Something that was really missing was

which I added and was merged before 3.4

1 Like

OpenHAB and openHABian are designed to run 24/7. That’s so much against design principles that it will not happen.

5 Likes

Thanks @stefan.hoehn, I didn’t know that. This will save a lot of time!

@vespaman Something like this: timeline picker?

@tose Well, sort of, but I meant this one

I quite often creates new “schedule rules”, and move existing ones around in time. If it was on a time line that could be dragged with the mouse it would be so much easier.
The timeline picker is (afaik) a more static solution where you have specific stuff that you want to move in time.

But when google assistant can’t reach openhab or something else goes wrong the first step is to reboot. Rebooting once a week (preferably at night) would keep things running smoothly and reduce troubleshooting. Even my NAS has an option to reboot on a schedule (mon morning at 3am). Notice I specified reboot not shutdown.

It’s an easy enough solution to setup openhab to reboot openhabian on any kind of schedule you’d prefer. Agreed this is a workaround to a root cause that should probably be investigated and fixed but there it is.

for example…

1 Like

No. You just need to open the cloud menu and press save. Nothing else.
Also, you should check the forums, there are beta bindings that the devs have been working on to address the issue.
How would you know that the issue is fixed if you’re randomly rebooting without interaction? Say that the issue is fixed on v3.4, you’d continue rebooting without a need for it.

Never reboot, it’s a bad practice from old times.

5 Likes

Let’s just keep this topic to wishes and if some wish can already be done in some way or another then provide the solution.

2 Likes

You should not be thinking you can create a binding through rules. If you need a binding, you need to cover a binding. If you are using Rules, skip the Things and populate the states of Items directly.

Library functions or even just using a banking pattern for items can be used to make this one done handle any number of locations.

Given openHABian isn’t magic and it pretty much only has cron available to use for this, I’m but sure you’d have any better luck that’s there.

Given Squeezebox can be used as an audio sink (I’m pretty sure), why reinvent the wheel here? Is there something it lacks?

I’m not arguing against any wish, just trying to narrow down what the wish means.

If at all possible, some sort of ‘native’ and official python3 support to make it easy to write own scripts without having to rely on helper/3rd party scripts that may or not be maintained and developed. Like an official python3 module that integrates with openhab.

(I know of habapp but its classbased and object oriented and seems uneccesary hard to understand how to use for atleast novice scripters/programmers like me. I use jython now and it works just fine so far but it’s old and outdated).

1 Like
  • Acts as a smart speaker, i.e. have a microphone and uses the keyword spotter, STT and openhab’s chat feature. This gets us completely free from google assistant / alexa.

I would really like to be able to write tests for my rules.

So I would imagine having a test environment, where I can mock items, things and triggers, invoke them and do assertions.

I find it rather difficult to write rules without being able to quickly write a test for them.

2 Likes

We can do this in jruby. This works on OpenHAB 3.3+
https://ccutrer.github.io/openhab-jrubyscripting/main/file.testing.html

1 Like