Software-update: OpenHAB 4.0.0

openHAB logo (svg) OpenHAB is domoticasoftware waarmee componenten uitgelezen en aangestuurd kunnen worden. Daarbij kun je denken aan lichtschakelaars, diverse sensors, ledlampen, beveiligingsapparatuur en tal van andere domoticahardware. Het kan door middel van zogenaamde bindings onder andere praten via Z-Wave, Nest en Zigbee, of producten van IKEA Trådfri, Xiaomi Smart Home en Philips Hue aansturen. Voor meer informatie verwijzen we naar deze pagina en voor gebruikerservaringen kun je ook op ons Forum terecht, in het Het Grote OpenHAB topic. De ontwikkelaars hebben OpenHAB 4.0 uitgebracht en de releasenotes voor die versie zien er als volgt uit:

New and Noteworthy

The openHAB 4.0 release is a feature release that contains many new features, enhancements and bug fixes, both for the core runtime and for many add-ons. You can find the most relevant ones listed in detail below. openHAB 4.0 is backward compatible to openHAB 3.x setups - there are only a few exceptions where manual action is required to adapt an existing setup, so please carefully check the section on breaking changes.

Quick links:

OpenHAB

Versienummer 4.0.0
Releasestatus Final
Besturingssystemen Java
Website OpenHAB
Download https://github.com/openhab/openhab-distro/releases/tag/4.0.0
Licentietype Freeware

Door Bart van Klaveren

Downloads en Best Buy Guide

24-07-2023 • 15:34

29

Submitter: sfinx

Bron: OpenHAB

Update-historie

30-09 openHAB 4.2.2 12
08-'24 openHAB 4.2.1 0
07-'24 openHAB 4.2.0 1
06-'24 openHAB 4.1.3 3
03-'24 openHAB 4.1.2 0
01-'24 openHAB 4.1.1 0
12-'23 openHAB 4.1 0
11-'23 openHAB 4.0.4 0
09-'23 openHAB 4.0.3 4
08-'23 openHAB 4.0.2 20
Meer historie

Reacties (29)

29
29
20
0
0
6
Wijzig sortering
Voor de mensen die OpenHAB gebruiken in plaats van Home Assistant, waarom heb je voor OpenHAB gekozen in plaats van Home Assistant?
En vice versa ;-)
Dat is makkelijk. Ik heb ooit OpenHAB gebruikt maar ik kon er niet erg veel mee. Daarna overgestapt op HA en dat was een wereld van verschil (meteen in het begin al).
Bij HA zijn wél regelmatig updates, je kunt met zowel Python als Node-Red (plus JavaScript) aan de slag, maar ook via Yaml (niet mijn ding). Het aantal add-ons is ongeëvenaard, net als de support van producten.

Wel grappig dat systemen als OpenHAB en Domoticz nog steeds bestaan, maar voor mij is het iets voor het softwaremuseum. Een mooi plaatsje tussen WordPerfect en MSN of zo.
Tsjah, als je eenmaal een richting kiest, zit je na verloop van tijd natuurlijk wel vrij vast.

Nu even mijn hele historie meenemen van domoticz naar HA of OH is technisch nogal een uitdaging.
Valt mee, je kunt het een tijdje naast elkaar draaien en langzamerhand alles overzetten naar 2023. 😊
Ja de apparaten wel. Maar de historie van bijvoorbeeld m'n p1 sensoren en zonnepanelen wordt een hele uitdaging.
Dat hangt er vanaf hoe je het opgezet hebt. Mijn P1 heb ik zef gemaakt en geeft via MQTT door. Dat kun je gewoon simultaan uitlezen.
Volgems mij geldt dat ook Zigbee2MQTT, maar dat weet ik niet zeker.
Hiermee kopieer / migreer je alsnog de historie niet waar @MikeyMan en ik ook tegen aanloopt. Zo draai ik al 10 jaar Domoticz maar ik wil mijn geschiedenis niet kwijt wat mij van HA weerhoud.
Mag ik vragen wat je met die geschiedenis doet? Af en toe naar kijken? Oprechte vraag.
Als je het functioneel wilt gebruiken (berekenen of je je zonnepanelen al terugverdiend hebt?) dan volstaat een export naar een bestandje, toch?
Mag ik vragen wat je met die geschiedenis doet? Af en toe naar kijken? Oprechte vraag.
Als je het functioneel wilt gebruiken (berekenen of je je zonnepanelen al terugverdiend hebt?) dan volstaat een export naar een bestandje, toch?
Ja en nee, wat ik er nu mee doe is niet relevant omdat dat niks zegt over de toekomst. Het feit dat ik er afstand van doe zorgt er al voor dat ik er sowieso niks meer mee kan gaan doen. Een CSV export kan zeker ja maar dan creëer ik dus een extra bron met losse bestandjes.Als HA nou een SQL of CSV import kan doen van bijv Domoticz dan zorg je voor veel meer users.

Ja het is wellicht een dooddoener maar de toekomst kan je niet raden en ik wil niet op verschillende plekken de data moeten weg trekken i.p.v. nu te kijken naar de stroom/gas/water in 1 overzicht direct (en dat van meerdere sensoren)
Voor mijzelf is de historie totaal geen ding, maar ik snap dat mensen dat graag willen importeren.
Dus ik heb er even op gezocht en er zijn velen die daar al scripts voor gemaakt hebben. Dus ik zou zeggen, leef je uit met een zoekmachine. 👍
Om deze reden heb ik gekozen voor een losse database (InfluxDB) voor mijn energiedata. Kan je ook doen voor de data van andere sensoren (via MQTT). Op die manier zorg je voor scheiding tussen data en applicatie. Dat is altijd verstandig, zodat je geen vendor-lock-in krijgt. Bovendien heb je het voordeel dat je de data ook op andere wijze kan bereiken, analyseren en weergeven, bijvoorbeeld via Grafana ofzo.

Je kunt oude data ook importeren in deze losse database. Uiteraard wel zorgen voor de juiste back-up en retentie instellingen zodat de database beheersbaar blijft.

Een deel van de (actuele) data is bij mij ook aanwezig in de applicatie (na ja, in de bijgeleverde database van de applicatie dan). Anders kan de applicatie niet reageren op de data van de sensoren.
Er is flink wat onderscheid te maken tussen ontwikkelen voor en gebruiken van domotica software. De laatste groep heeft idd veel meer behoefte aan updates om hun apparatuur in aansprekende scenes te kunnen duwen.
Ik denk dat je eens naar een nieuwe versie van openhab zou moeten kijken, want om te zeggen dat Openhab ouderwets is klopt echt niet. Vooral versie 4 maakt opnieuw grote stappen en zeer up-to-date, zeker op zelfde niveau als HA.

Je noemt software updates als een pré maar als het aan mij ligt, heb ik die liever niet in mijn domotica. Updates zorgen met regelmaat voor problemen, kijk maar naar smartphone of laptop markt. Dat is ook de reden dat Openhab maar 2 keer per jaar een update heeft. Wil je wel graag updates bij openhab, dan kies je voor de snapshots met het risico dat je eens een bug tegenkomt. Daarbij dan ook zo fijn om het even door te geven aan de ontwikkelaars om die bug te fixen.

Ik snap de je met Openhab niet veel kon toen je het installeerde, dat had ik ook. Maar de documentatie is echt extreem uitgebreid en als je je daarin verdiept zal je zien dat de mogelijkheden werkelijk oneindig zijn. Lukt dat nog niet, dan ga je naar de behulpzame community of tegenwoordig vraag je ChatGPT. Van rules tot userinterface, alles is tot op de comma en pixel aanpasbaar. Wil je dat niet, dan kies je voor het gebruik met alleen de userinterface en blockly functies bijvoorbeeld, lekker laagdrempelig en nog steeds zeer veelzijdig.

Dus nee, software museum, dat gaat er bij mij echt niet in ;)
Fijn dat je fan bent en updates niet belangrijk vindt.
Maar als ik eerst een berg documentatie door moet om iets aan de gang te krijgen dan is er voor mijn gevoel al iets mis. Wat is destijds ook miste was de flexibiliteit om iets anders te gebruiken dan Lua of waar OH dan ook mee werkte. Ik heb een bloedhekel aan Lua en als ik dat kan vervangen door JS dan zal ik dat meteen doen. Met Node-Red werkt dat perfect en stuur ik alles op een zeer overzichtelijke wijze aan. Maar dat is natuurlijk persoonlijk.

Daar komt bij dat voor elk denkbaar apparaat wel ondersteund is in HA en dat veel fabrikanten zich ook alleen nog maar daar op richten. Ook de community is inmiddels zo enorm dat ze alle concurrentie ver achter zich laat.
Je mag best verdedigen dat het voor jou prima is, maar de feiten zijn nou eenmaal dat het een achterhoedegevecht is.
Ik ben fan van Openhab maar je noemt zaken die niet kloppen, vandaar mijn reactie.

Domoticz gebruikt Lua openhab niet, openhab is juist gebasseerd op Java en RulesDSL is hier op gebasseerd maar je kan ook gewoon in JS scripten... dus je slaat de plank volledig mis.

Openhab biedt juist ondersteuning voor allerlei talen, in tegenstelling tot HA. Zie hier:

Blockly Graphical Only available through the UI
GraalVM JavaScript ECMAScript 11
Groovy Groovy 3.0
HABApp >= Python 3.8
jRuby Ruby 3.1
Jython Python 2.7
NodeRed Graphical Own UI
Nashorn JavaScript ECMAScript 5.1
RulesDSL RulesDSL

Ik heb even gekeken en Home assistant heeft 2489 intergraties. Openhab ondersteund 431 Addons wat in totaal resulteert in 3174 things. Maakt de vergelijking lastig maar het komt ongeveer op hetzelfde neer volgens mij. Bedrijven noemen altijd Home Assistant en niet Openhab, maar dat betekent zeker niet dat er geen ondersteuning is bij Openhab ;) Daarbij maakt het mij niet zoveel uit hoeveel er ondersteund wordt, als datgene wat ik in huis heb maar ondersteund wordt.

Dat HA populairder is, dat klopt maar dat zegt niks over dat Openhab ouderwets is of minder goed is. Voor mensen die het graag in hapklare brokken aangeleverd krijgen is HA echt fantastisch, al denk ik dat het ook bij HA beter is om daar meer de diepte in te gaan. En als je meer wilt, dan zul je Openhab moeten gebruiken, al kost dat wel wat inspanning.
Zoals ik al zei, geen probleem dat je fan bent.
De afgelopen 9 jaar heb ik openHAB gebruikt. Toen ik daarmee begon was Home Assistant nog maar net gestart maar openHAB was al aardig uitgebreid. Heb er toen ook zelf een paar bindings (add-ons) voor gemaakt (in Java, taal die ik al kende). Het is in die 9 jaar aardig doorontwikkeld en daardoor uitgebreider en ook (naar mijn mening) wat complexer geworden. Het functioneert echter nog prima, hoewel ik er de laatste tijd niet veel meer aan sleutel.

HA draai ik er ook naast, voor add-ons die niet in openHAB beschikbaar zijn. Koppeling werkt prima via MQTT. Maar heb nog geen redenen (en tijd) gevonden om compleet over te stappen.

Als je nu met iets nieuws begint is HA wellicht de logische keuze: sneller onder de knie te krijgen, grotere community. Maar openHAB heeft ook grote stappen gezet met o.a. de nieuwe UI. En als je er wat tijd in investeert krijg je er wel een flexibel en stabiel systeem voor terug.
Omdat OH voortkomt uit een robuuste architectuur en de rest van domotica systemen vooral hobbybob werk was (dat later soms wat bijgekomen is).
Voor eindgebruikers maakt het niet zoveel uit maar voor degenen die daadwerkelijk ontwikkelen aan de core(s) is (en zeker was) er een wereld van verschil.
Ik heb bij OH het idee meer zelf in controle te zijn. Het biedt meer opties, meer detail, voor mijn beperkte setup maar er zit ook wel veel meer tijd in. Nu ben ik wel iemand die liever code schrijft dan dingen bij elkaar sleept.
Voor mij was het simpel. Als ik zelf een module/addon zou moeten schrijven, dan wil ik dat in een taal doen die statically typed is. OH is Java, en hoewel dat niet mijn ideale taal is, is dat prima.

Mijn gok kwam goed uit, want ik heb dus een addon geschreven voor mijn solar inverter. Nu kan ik dus moeilijk over. Maar ik zie ook geen reden omdat te doen. De community is zeer kundig en je wordt uitstekend geholpen, ook tijdens het ontwikkelen van zo'n addon.
Na tien jaar in domotica-land te hebben gewerkt was openHAB destijds een verademing. Ze proberen zoveel mogelijk frameworks en standaardisatie toe te passen waar mogelijk. Denk bijvoorbeeld aan OSGi.

In de community zitten een paar hard-core tweakers die je graag (en snel) verder helpen. Denk dat de steep learning curve een beetje het kaf van het koren scheidt (resp. HA en OH). Met andere woorden bij HA zal je veel beginners zien op het forum. Dat idee heb ik bij OH veel minder.
Het blijft jammer dat destijds besloten is om versie 2 en lager af te stoten.
Ergens wel begrijpelijk om het marktconcurrentie hoofd te bieden aan zg. snelkook panklaar HA's.

Zelf ben ik nog steeds een zeer tevreden gebruiker van versie 2.x , ook omdat mijn weliwaar oude maar probleemloze hardware - o.a. vanwege Java-versie & eisen - niet kan worden geupgrade.
Bijkomende de reden is dan dat ik mijn set-up moet migreren naar een andere conceptuele aanpak en verder al helemaal geen behoefte heb aan grafische (codeblock)gimmicks.
Gelukkig kan ik zelf (tot op heden, nog steeds) OH2.4x compileren om mijn eigen sloggi-broek op te houden.
Je kan meerdere OH instances draaien op hetzelfde netwerk en met elkaar laten verbinden.
Misschien is dat een oplossing voor jou? Dan draai je OH 2.x voor je specifieke hardware en je main instance is dan OH4 met alles wat het nieuw te bieden heeft.
Beetje laat, maar mijn besturingssysteem op een QNAP - dat flink meer doet dan domotica in de linker achterhoek - kan geen java11 draaien waarmee OH2+ een onmogelijkheid is geworden.
Moeilijke vraag. Ik denk dat dat persoonlijke voorkeur is. Ik kwam van Domoticz jaren geleden wat voor mij niet stabiel genoeg was. Toen Home Assistant vrij kort getest maar ik kreeg geen goed beeld van de werking van dat systeem, klinkt raar maar als Android guy had ik er een Apple gevoel bij (onterecht achteraf gezien). Ik vind het wel fijn dat ik weet hoe en waarom iets gebeurt en dat kreeg ik toen niet. Dus daarna met wat twijfel openhab geïnstalleerd, ik las over de stijle leercurve zoals dat zo mooi omschreven was en dat klopte zeker, ik was in de eerste weken niet ver verwijderd van terug naar Home Assistant gaan. Maar toch doorgezet en merkte dat er steeds weer een deur open ging naar nog meer mogelijkheden.

Misschien is home assistant even veelzijdig, dat weet ik niet natuurlijk. Maar als ik zie dat ik ondertussen ruim 10.000 regels broncode verder ben, een vrij simpel energie verdeel systeem gemaakt heb en nu net bijna klaar ben met een automatisch licht scène systeem die van ons leert hoe de verlichting scènes op welk moment aan moeten ben ik wel heel blij met Openhab😁. Daarnaast natuurlijk zoveel mogelijk gekoppeld aan elkaar in huis, omdat het kan💪
Dat zelflerende systeem klinkt interessant 🙂 hoe heb je dat aangepakt?
Lastig om zo even uit te leggen. Maar ik ga een poging doen.

Ik heb in openhab meerder Items gemaakt die bepaalde waardes kunnen bevatten, zoals Alarm.state = ON, System_pod_mode.state = ON, LightLevel.state = 50, etc. Voor onze benedenverdieping (Keuken en woonkamer zijn 1 grote ruimte) zijn dat 9 items die ik gebruikt daarvoor. Die zitten in een groep. Met een rule, Member changed, check ik of er een item veranderd. Daarna laat ik een string maken met alle items en hun statussen erin. Die string met statussen vergelijk ik met eerder opgeslagen statussen. Als er zo'n status / situatie bestaat dan start er een functie die gaat zoeken naar die status. Die functie krijgt een ruimte naam mee waarmee hij weet in welke items hij moet kijken. In zo'n item staan alle statussen opgeslagen als String in JSON formaat, best grootte string dus ;). Ik itereer dan door die waardes heen en laad de status in waarbij de scene staat die ingeladen moet worden. Scene laden werkt op zo'n zelfde principe, Ruimte naam wordt meegegeven, ik itereer door een ander item met JSON waardes waarin de scene namen staan met bijbehorende lamp statussen.

Het zelf lerende gaat als volgt. Als één van de members verandert voor de benedenverdieping en de status wordt niet gevonden in de JSON string (contains = false), dan start er een andere functie. Deze gaat kijken of er statussen zijn die redelijk overeen komen (20% van LightLevel en TV staat uit bijvoorbeeld) met de huidige waardes van die 9 items voor de benedenverdieping. Als deze gevonden wordt, dan wordt die scene geladen en direct ook de status opgeslagen met bijbehorende scene. Als er niks overeen komt dan wordt de huidige scene gebruikt met de huidige status, dus nieuwe scene.

Soms worden er dus scenes verlengt, bijvoorbeeld lightlevel daalt maar er is geen overeenkomstige scene, dan wordt de huidige opnieuw gebruikt, bijvoorbeeld verlichting uit. Als dit opnieuw gebeurt blijft de verlichting uit. Ik zal dan zelf op een moment een scene moeten kiezen wat bij het huidige licht niveau past. Dit wordt dan ook opgeslagen en later hergebruikt als die situatie zich opnieuw voordoet.

Ik ben nog aan het optimaliseren van mijn code, want ik gebruik voor 3 ruimtes dezelfde functie, en de raspberry pi 4 heeft het een beetje zwaar met deze functies. Dus als een scene geladen moet worden duurt het wel 3 tot 5 seconden voordat deze geladen is. Op zich niet zo'n probleem omdat het niet hoeft te werken aan de hand van beweging. Maar iets vlotter, bijvoorbeeld als we thuiskomen, dat de lampen niet nog aan het inschakelen zijn tijdens naar binnen lopen, is wel zo fijn. Ik kwam er bijvoorbeeld gisteren achter dat wanneer een scene al geladen is, hij toch opnieuw geladen wordt. Dat scheelt alweer in de system resources :).

Op dit item kan niet meer gereageerd worden.