Konfiguration Bridge
//home.things
Bridge mqtt:broker:brokerhome [ host="192.168.1.5", secure=false ]
{
// Hier werden die verschiedenen Geräte als Thing eingefügt
//Beispiel
Thing topic SteckdoseCouch {
Channels:
Type switch : WoZiLicht "Lampe Couch" [ stateTopic="stat/Steckdose_Couch/POWER", commandTopic="cmnd/Steckdose_Couch/POWER", on="ON", off="OFF" ]
}
}
Sonoff S26
Things
//home.things
Thing topic SteckdoseCouch {
Channels:
Type switch : WZLicht "Lampe Couch" [ stateTopic="stat/Steckdose_Couch/POWER", commandTopic="cmnd/Steckdose_Couch/POWER", on="ON", off="OFF" ]
}
Items
// home.items
// itemname ["labeltext"] [<iconname>] [(group1, group2, ...)] [{bindingconfig}]
// https://github.com/arendst/Sonoff-Tasmota/wiki
// WOHNZIMMER WZ
// ***
Switch WZLicht "Lampe Couch" <light> (gWZLicht) { channel="mqtt:topic:brokerhome:SteckdoseCouch:WZLicht" }
Sitemap
sitemap home label="Zu Hause" {
Frame label="Wohnzimmer Lampe Couch" icon="sofa" {
Switch item=WZLicht
}
}
Sonoff POW
Things
Thing topic bad_boiler {
Channels:
Type switch : EG_Bad_Boiler "Bad Boiler" [stateTopic="bad/powr2-02/stat/POWER", commandTopic="bad/powr2-02/cmnd/POWER", on="ON", off="OFF" ]
Type string : reachable "Schaltzustand" [ stateTopic="bad/powr2-02/tele/LWT" ]
Type switch : power "Power" [ stateTopic="bad/powr2-02/stat/POWER", commandTopic="bad/powr2-02/cmnd/POWER" ]
Type number : powerload "Leistung" [ stateTopic="bad/powr2-02/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Power"]
Type number : voltage "Spannung" [ stateTopic="bad/powr2-02/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Voltage"]
Type number : current "Strom" [ stateTopic="bad/powr2-02/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Current"]
Type number : Verbr_heute "Gesamtverbrauch heute" [ stateTopic="bad/powr2-02/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Today"]
Type number : Verbr_gestern "Gesamtverbrauch gestern" [ stateTopic="bad/powr2-02/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Yesterday"]
Type number : Verbr_gesamt "Gesamtverbrauch" [ stateTopic="bad/powr2-02/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Total"]
Type number : rssi "WiFi Signalstärke" [ stateTopic="bad/powr2-02/tele/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
}
}
Items
// home.items
// itemname ["labeltext"] [<iconname>] [(group1, group2, ...)] [{bindingconfig}]
// https://github.com/arendst/Sonoff-Tasmota/wiki
// BAD
// ***
Switch EG_Bad_Boiler "Bad Boiler" (EG_BAD) {channel="mqtt:topic:brokerhome:bad_boiler:EG_Bad_Boiler"}
Number EG_Bad_Boiler_Verbr_ges "Verbrauch gesamt [%.3f kWh]" (EG_BAD) {channel="mqtt:topic:brokerhome:bad_boiler:Verbr_gesamt"}
Number EG_Bad_Boiler_Verbr_heute "Verbrauch heute [%.3f kWh]" (EG_BAD) {channel="mqtt:topic:brokerhome:bad_boiler:Verbr_heute"}
Number EG_Bad_Boiler_Verbr_gestern "Verbrauch gestern [%.3f kWh]" (EG_BAD) {channel="mqtt:topic:brokerhome:bad_boiler:Verbr_gestern"}
Number EG_Bad_Boiler_Strom "Strom [%.1f A]" (EG_BAD) {channel="mqtt:topic:brokerhome:bad_boiler:current"}
Number EG_Bad_Boiler_Spannung "Spannung [%.1f V]" (EG_BAD) {channel="mqtt:topic:brokerhome:bad_boiler:voltage"}
Number EG_Bad_Boiler_Leistung "Leistung [%.1f W]" (EG_BAD) {channel="mqtt:topic:brokerhome:bad_boiler:powerload"}
Sitemap
sitemap home label="Zu Hause" {
Text item=EG_Bad_Boiler_Leistung label="Bad" icon="bath" {
Frame label="Schalter"{
Switch item=EG_Bad_Boiler
}
Frame {
Default item=EG_Bad_Boiler_Spannung
Default item=EG_Bad_Boiler_Strom
Default item=EG_Bad_Boiler_Leistung
Default item=EG_Bad_Boiler_Verbr_ges
Default item=EG_Bad_Boiler_Verbr_heute
Default item=EG_Bad_Boiler_Verbr_gestern
}
}
}
Commands
EnergyResetX 0
– setzt die Energiezähler zurück, X kann dabei einen Wert von 1-3 einnehmen, je nachdem welcher Wert zurückgesetzt werden soll (1 – heute, 2 gestern, 3 – gesamt)
Sonoff RF Bridge
Türkontakt
Am Anfang müssen die Codes des Kontaktes ausgelesen werden, die beim Öffnen und Schließen des Schalters verschickt werden. Dies geschieht über de Konsole der RF-Bridge. Eine Ausgabe könnte dabei so aussehen:
tele/rf-bridge/RESULT {"RfReceived":{"Sync":12300,"Low":450,"High":1250,"Data":"082FBA","RfKey":"None"}}
tele/rf-bridge/RESULT {"RfReceived":{"Sync":12290,"Low":440,"High":1250,"Data":"082FBB","RfKey":"None"}}
Der Sonoff DW1 liefert leider nur ein Öffnen-Signal und ist somit für viele Anwendungen unbrauchbar. Besser funktioniert der DIGOO DG HOSA 433MHz New Door & Window Alarm Sensor, der für jeden Statuswechsel ein Signal sendet.
.THINGS
Bridge mqtt:broker:brokerhome [ host="192.168.1.5", secure=false ]
{
Thing topic rfbridge {
Channels:
Type string : reachable "Reachable" [ stateTopic="tele/rf-bridge/LWT" ]
Type string : recieveddata "Received Data" [ stateTopic="tele/rf-bridge/RESULT", transformationPattern="JSONPATH:$.RfReceived.Data"]
Type string : recievedsync "Received Sync" [ stateTopic="tele/rf-bridge/RESULT", transformationPattern="JSONPATH:$.RfReceived.Sync"]
Type string : recievedlow "Received Low" [ stateTopic="tele/rf-bridge/RESULT", transformationPattern="JSONPATH:$.RfReceived.Low"]
Type string : recievedhigh "Received High" [ stateTopic="tele/rf-bridge/RESULT", transformationPattern="JSONPATH:$.RfReceived.High"]
Type string : recievedrfkey "Received RfKey" [ stateTopic="tele/rf-bridge/RESULT", transformationPattern="JSONPATH:$.RfReceived.RfKey"]
Type number : rssi "WiFi Signal Strength" [ stateTopic="tele/rf-bridge/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
Type contact : door1 "Door 1" [ stateTopic="tele/sonoff-bridge/RESULT", transformationPattern="JSONPATH:$.RfReceived.Data" ,allowedStates="082FBA,082FBB", off="082FBA", on="082FBB"]
}
}
.ITEMS
Contact GF_Sonoff_RF_Door_1 "Door 1:" (GF_Sonoff_RF) { channel="mqtt:topic:rfbridge:door1" }
.SITEMAP
Group item=GF_Sonoff_RF {
Text item=GF_Sonoff_RF_Reachable label="Status [%s]"
Text item=GF_Sonoff_RF_Received_Data label="Data [%s]"
Text item=GF_Sonoff_RF_Received_Sync label="Sync [%s]"
Text item=GF_Sonoff_RF_Received_Low label="Low [%s]"
Text item=GF_Sonoff_RF_Received_High label="High [%s]"
Text item=GF_Sonoff_RF_Received_RfKey label="RfKey [%s]"
Text item=GF_Sonoff_RF_RSSI label="WiFi Signal Strength [%d %%]"
Text item=GF_Sonoff_RF_Door_1 label="Door [%s]"
}
Es ist ebenfalls möglich einen Schaltvorgang per Regel auszulösen. In diesem Beispiel wird bei jedem empfangenen Code, je nach vorherigem Zustand des zu schaltenden Gerätes, dieses Ein oder Aus geschaltet. (toogle Modus) Wenn mehrere Geräte oder Auslöser erfasst werden sollen, kann man dies elegant mit case
lösen. Extra Items sind nicht nötig.
.RULES
rule "BUTTON TOGGLE"
when
Item GF_Sonoff_RF_Received_Data received update
then
var rfData = GF_Sonoff_RF_Received_Data.state.toString
Thread::sleep(100)
switch (rfData) {
case "43D128": // Fernbedienung Taste 1
{
if (WoZiLicht.state == ON)
{
WoZiLicht.sendCommand(OFF)
}
else
{
WoZiLicht.sendCommand(ON)
}
// Reset Last Received Code
rfData=""
GF_Sonoff_RF_Received_Data.postUpdate(rfData)
}
case "ACAA99": //Türkontakt 1
{
if (WoZiLicht.state == ON)
{
WoZiLicht.sendCommand(OFF)
}
else
{
WoZiLicht.sendCommand(ON)
}
// Reset Last Received Code
rfData=""
GF_Sonoff_RF_Received_Data.postUpdate(rfData)
}
case "F71E2E": //Bewegungsmelder 1
{
if (WoZiLicht.state == ON)
{
WoZiLicht.sendCommand(OFF)
}
else
{
WoZiLicht.sendCommand(ON)
}
// Reset Last Received Code
rfData=""
GF_Sonoff_RF_Received_Data.postUpdate(rfData)
}
}
end
Sonoff DC 5V Relais
Commands
PulseTime1 5
– Setzt die Zeit in der der Schalter automatisch wieder ausschaltet (0,5 s)