Thanks again and “the Bible” link is much appreciated. It is great to have more functionality in config files than the PaperUI exposes.
Hi,
all this functionality is also covered by the UI.
Are you saying the PaperUI allows control of visibility?? I have not seen that.
Hi , I’m very new to openHab and have found this guide extremely useful so far. however I’m not quite sure how actually create the empty files within the command line, I assume its within the command line? any assistance or a dummies guide if you will for a newb like myself would be greatly appreciated. many thanks chris.
Welcome!
On the command line navigate to your specific folder, then
touch my_items.items
will create an empty Items file called my_items
.
But that’s not particularly user friendly - how have you got openHAB setup? Do you have access through a normal file manager to your configuration files?
If you want to create and edit config files use an editor.
Thankyou very much, this is my first attempt at anything like this. until this point i had only used the paper UI and even installed the openHab o.s using the installation steps found on the sight. I don’t believe i have access through a normal file manager to my configuration files, however i did install putty last week and have managed to install the mosquito and check it works.
any help and tips are greatly appreciated.
Great tutorial, it helped me a lot. But I have a problem. I have a separate channel to set PulseTime but I would also like to get it’s state. If I publish cmnd/rega/PulseTime1
I get {"PulseTime1":{"Set":400,"Remaining":0}}
from stat/rega/RESULT
. But these /RESULT
do not come regularly, as is the case with /STATE
. How can I do this ?
You can change the TelePeriod
from the default 300
In tasmota console enter
TelePeriod 10
I can’t provide a complete example at the moment, but I think you’ll have to create a Cron triggered rule which uses the MQTT action to publish an empty message to
cmnd/rega/PulseTime1
You then need to setup a (new) Channel on your Thing which listens to
stat/rega/RESULT
and probably uses REGEX to filter to make sure it includes the PulseTime1
keyword.
@hafniumzinc Wow, I was not aware that it is possible to publish MQTT commands using rules. It opens tremendous possibilities, such as programming tasmota as if I were using its console. Thanks a lot, this was the solution.
Here is a simple OH3/DSL rule
triggers:
- id: "2"
configuration:
startlevel: 100
type: core.SystemStartlevelTrigger
conditions: []
actions:
- inputs: {}
id: "1"
configuration:
type: application/vnd.openhab.dsl.rule
script: |-
val actions = getActions("mqtt","mqtt:broker:aveiro")
actions.publishMQTT("cmnd/rega/PulseTime","")
type: script.ScriptAction
And here is the thing definition for a Sonoff 4CH Pro
UID: mqtt:topic:aveiro:sonoff_rega
label: Rega do Quintal
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:aveiro
channels:
- id: zona1
channelTypeUID: mqtt:switch
label: Zona 1
description: ""
configuration:
commandTopic: cmnd/rega/POWER1
stateTopic: stat/rega/POWER1
- id: zona2
channelTypeUID: mqtt:switch
label: Zona 2
description: ""
configuration:
commandTopic: cmnd/rega/POWER2
stateTopic: stat/rega/POWER2
- id: zona3
channelTypeUID: mqtt:switch
label: Zona 3
description: ""
configuration:
commandTopic: cmnd/rega/POWER3
stateTopic: stat/rega/POWER3
- id: zona4
channelTypeUID: mqtt:switch
label: Zona 4
description: ""
configuration:
commandTopic: cmnd/rega/POWER4
stateTopic: stat/rega/POWER4
- id: zon1p
channelTypeUID: mqtt:number
label: Pulsetime 1
description: null
configuration:
commandTopic: cmnd/rega/PulseTime1
stateTopic: stat/rega/RESULT
transformationPattern: REGEX:(.*PulseTime1.*)∩JSONPATH:$.PulseTime1.Set
- id: zon2p
channelTypeUID: mqtt:number
label: Pulsetime 2
description: null
configuration:
commandTopic: cmnd/rega/PulseTime2
stateTopic: stat/rega/RESULT
transformationPattern: REGEX:(.*PulseTime2.*)∩JSONPATH:$.PulseTime2.Set
- id: zon3p
channelTypeUID: mqtt:number
label: Pulsetime 3
description: null
configuration:
commandTopic: cmnd/rega/PulseTime3
stateTopic: stat/rega/RESULT
transformationPattern: REGEX:(.*PulseTime3.*)∩JSONPATH:$.PulseTime3.Set
- id: zon4p
channelTypeUID: mqtt:number
label: Pulsetime 4
description: null
configuration:
commandTopic: cmnd/rega/PulseTime4
stateTopic: stat/rega/RESULT
transformationPattern: REGEX:(.*PulseTime4.*)∩JSONPATH:$.PulseTime4.Set
Instead of creating a separate thing to monitor the tele topic, you can also set the powerretain flag in Tasmota. This will send out the stat topic with the current value when Openhab connects.
In tasmota cosole enter:
powerretain 1
thanks for this awsome guide. Still I’m not able to turn my sonof switch from the basic UI.
I have a sonoff 4chpro properly configured, If I monitor it with mqttfx I can see an mqtt message when pushing every button. I use OH 2.4.0 and Mosquitto on the same raspberry. IN my sitemap wifi signal populate properly but the stiwtch item is not working, no topic sent to mqttfx, no error log in OH. can you help me debug the issue? how do I check mqtt logs?
thank you
things file:
Bridge mqtt:broker:mqtt "Broker MQTT"
[
host="192.168.2.xxx",
port=1883,
secure=false,
clientID="OpenHAB2",
username="",
password=""
]
Thing mqtt:topic:irrigazioneD "Sonoff pro aree 1,2,3,4" (mqtt:broker:mqtt) {
Channels:
Type switch : IrriPower1 "Interruttore area 1 (prato dx)" [
commandTopic="cmnd/irrigazioneD/POWER1",
stateTopic="stat/irrigazioneD/POWER1",
on="ON",
off="OFF"
]
Type switch : reachable "Reachable" [
stateTopic = "tele/irrigazioneD/LWT",
on="Online",
off="Offline"
]
Type number:rssi "RSSI" [
stateTopic="tele/irrigazioneD/STATE",
transformationPattern="JSONPATH:$.Wifi.RSSI"
]
}
item file:
Switch Elettrovalvola1 "Irrigazione 1 (prato dx)" { channel="mqtt:topic:irrigazioneD:POWER1" }
Switch Elettrovalvola1Reachable "Stato sonoff irrigazioneD" { channel="mqtt:topic:irrigazioneD:reachable" }
Number nBedroomSideLightRSSI "RSSI" { channel="mqtt:topic:irrigazioneD:rssi" }
sitemap file:
sitemap irrigazione label="Irrigazione" {
Frame label="Sonoff D"{
Switch item=Elettrovalvola1 label="Zona 1 - Prato DX"
//Switch item=Elettrovalvola2 label="Zona 2 - Prato SX"
//Switch item=Elettrovalvola3 label="Zona 3 - Prato studio"
//Switch item=Elettrovalvola4 label="Zona 4 - Gocciolante alberi"
Text item=Elettrovalvola1Reachable label="Stato del device: [%s]"
Text item=nBedroomSideLightRSSI label="Connection quality [%d %%]" icon="qualityofservice"
}
}
You don’t seem to have any channel by that name (POWER1).
You did decide to name one IrriPower1
?
right! that was one error, the other one was not adding user/password into sonoff mqtt config.
when I added the 4 channels I got more errors…sorry but I’ve upgrader OH from 2.4 to 2.5 and the system is not resuming…