Neuste Artikel aller Themen |
25.03.2024
MariaDB für Persistenz einrichten
Erstmal muss MariaDB installiert werden:
sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation
Nun müssen Datenbank und User angelegt werden:
sudo mysql -u root -p
create database openhab;
ceate user 'openhab'@'localhost' identified by 'meinkennwort';
grant all privileges on openhab.* to 'openhab'@'localhost' identified by 'meinkennwort';
flush privileges;
Als letztes muss noch das MariaDB-Binding installiert werden und unter Einstellungen/Persistenz "jdbc" ausgewählt werden.
Stichworte:
Openhab 4, OH4, MariaDB einrichten, Persistenz, persistence
05.03.2024
Timer
javax.swing.Timer;
Timer timer = new Timer(20, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
doSomething();
}
});
timer.setRepeats(true); // true -> viele Aufrufe von doSomething() bis timer gestoppt wird; false -> nur ein Aufruf von doSomething()
timer.setCoalesce(true);
timer.start();
Stichworte:
Java, Swing, Timer, Beispiel
29.02.2024
Zigebee: Neue Geräte erkennen
Zigbee muss mitgeteilt werden, dass neue Geräte erkannt werden.
Dies muss in der Datei
/opt/zigbee2mqtt/data/configuration.yaml
angegeben werden.
Dazu muss der folgender Eintrag gesetzt sein:
permit_join: true
Stichworte:
Openhab 4, OH4, Zigbee, neue Geräte zulassen/erkennen/identifizieren
29.02.2024
Batterie-Füllstand anzeigen
Um den Füllstand einer Batterie anzuzeigen ist folgender Widget-Code ein Beispiel:
- component: f7-col
config:
style:
width: 2rem
slots:
default:
- component: oh-icon
config:
icon: oh:batterylevel
state: =items.IT__Batterie_Thermometer_Wohnzimmer.state
style:
width: 2rem
Stichworte:
Openhab 4, OH4, Batterie, Füllstand, BatteryLevel, Code-Beispiele
28.02.2024
Externes Thermometer mit Thermostat verbinden
Diesem Beispiel aus OpenHab 4 ist zu entnehmen, wie ein Thermostat (hier Aqara) seine Temperatur-Werte von einem externen Thermometer (auch Aqara) erhält. Dabei stammt der Code aus dem Code-Reiter der GUI-Konfiguration.
Beginnen wir mit dem Thermostat:
UID: mqtt:topic:f1a4276c53:TH__WZ_HZ_0x54ef4410007f5c75
label: Heizungsthermostat Wohnzimmer süd
thingTypeUID: mqtt:topic
configuration:{}
bridgeUID: mqtt:broker:f1a4276c53
location: Wohnzimmer
channels:
- id: CH__Externe_Temperatur_Thermostat_WZ_sued
channelTypeUID: mqtt:number
label: Channel Externe Temperatur Thermostat WZ sued
description: ""
configuration:
formatBeforePublish: '{"sensor_temp": %s}'
commandTopic: zigbee2mqtt/0x54ef4410007f5c75/set
transformationPattern: JSONPATH:$.sensor_temp
- id: CH__Soll_Temperatur_Thermostat_WZ_sued
channelTypeUID: mqtt:number
label: Soll-Temperatur Wohnzimmer
description: ""
configuration:
retained: true
unit: °C
formatBeforePublish: '{"occupied_heating_setpoint": %s}'
commandTopic: zigbee2mqtt/0x54ef4410007f5c75/set
step: 0.5
stateTopic: zigbee2mqtt/0x54ef4410007f5c75
transformationPattern: JSONPATH:$.occupied_heating_setpoint
Das Item für die externe Temperatur:
label: Externe Temperatur Thermostat WZ sued
type: Number:Temperature
category: temperature
groupNames: []
tags: []
Natürlich muss der Channel mit dem Item verlinkt werden (dies geschieht im Reiter Channels des Things).
Die benötigte Regel sieht wie folgt aus:
configuration: {}
triggers:
- id: "1"
configuration:
itemName: IT__Temperature_Wohnzimmer
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
considerConditions: true
ruleUIDs:
- SC__Setzen_externen_Temperatur_Thermostat_WZ_sued
type: core.RunRuleAction
und das Script welches von der Regel aufgerufen wird (SC__Setzen_externen_Temperatur_Thermostat_WZ_sued):
let temp = Number.parseFloat(items.getItem('IT__Temperature_Wohnzimmer_Ost').state);
let thermostat = items.getItem('IT__Externe_Temperatur_Thermostat_WZ_sued');
thermostat.sendCommand(temp);
Stichworte:
Openhab 4, OH4, Thermometer, externes Thermostat, verbinden, steuern, Syntax, Code-Beispiele
21.02.2024
WiFi und Bluetooth abschalten
Um WiFi und Bluetooth abzuschalten muss die Datei
/boot/config.txt
ganz am Ende unter[all]
ergänzt werden:Für Wifi:
dtoverlay=disable-wifi
Für Bluetooth:dtoverlay=disable-bt
Stichworte:
Openhab 4, OH4, WiFi, WLAN, Bluetooth, abschalten, deaktivieren
15.02.2024
Syntax-Beispiele für Widgets
parameters:
- context: item
description: Lange Beschreibung
label: Kurze Beschreibung
name: itemXyz
required: false
type: TEXT
config:
visible: "=(props.itemXyz === undefined ? false : true)"
url: "=(items[props.itemXyz].state === 'ON' ? '/static/heating-on.png' : '/static/heating-off.png')"
Stichworte:
Openhab 4, OH4, Widgets, Syntax, Code-Beispiele
13.02.2024
Environment-Variablen
$OPENHAB_USERDATA
Stichworte:
Openhab 4, OH4, Environment, Umgebungs-Variablen
07.02.2024
Probleme beim Logging?
Manchmal ist die Konfiguration für's Logging defekt.
In einem solchen Fall sollte man die im Verzeichnis $OPENHAB_USERDATA/etc/ liegenden Dateien log4j2.xml und org.ops4j.pax.logging.cfg prüfen. Letztere Datei sollte lediglich einen Verweis auf erstere Datei enthalten.
Auch die verwendeten System-Varaiblen sollte man prüfen.
Eine neu log4j2.xml kann man von github herunterladen.
Stichworte:
Openhab 4, OH4, Logging