# TasmotaPlug Binding

This binding connects Tasmota flashed smart plugs with 1, 2, 3 or 4 relay channels to openHAB.
The plug must report the status of the relay via the url http://$PLUG_IP/cm?cmnd=Power in order for the binding to work.
The energy monitoring channels can be used if the plug reports energy status via the url http://$PLUG_IP/cm?cmnd=Status%2010.
See the Tasmota Supported Devices Repository (opens new window) for a list of supported plugs.

# Supported Things

There is exactly one supported thing type, which represents any supported Tasmota smart plug. It has the plug id. Multiple Things can be added if more than one plug is to be controlled.

# Discovery

Discovery is not supported. All things must be added manually.

# Thing Configuration

At minimum, the host name must be specified. The refresh interval and number of channels can be overridden from the default.

Parameter Description
hostName The host name or IP address of the plug. Mandatory.
refresh Overrides the refresh interval of the plug status. Optional, the default is 30 seconds.
numChannels Number of channels on the Tasmota Plug (1-4). Optional, the default is 1
username Username for authentication with the Tasmota Plug. Default 'admin'
password Password for authentication with the Tasmota Plug, if not supplied auth is disabled.

# Channels

The number of channels depends of on the numChannels configuration parameter. Channels above the number specified are automatically removed. Therefore numChannels cannot be changed upward after Thing creation. If the number of channels must be increased, delete the Thing and re-create it with the correct number.

Channel ID Item Type Description
power Switch Turns the smart plug relay #1 ON or OFF
power2 Switch Turns the smart plug relay #2 ON or OFF
power3 Switch Turns the smart plug relay #3 ON or OFF
power4 Switch Turns the smart plug relay #4 ON or OFF
voltage Number:ElectricPotential Channel for output voltage measurement
current Number:ElectricCurrent Channel for output current measurement
watts Number:Power Channel for output power measurement
volt-ampere Number:Power Channel for output VA measurement
volt-ampere-reactive Number:Power Channel for output VAr measurement
power-factor Number:Dimensionless Channel for output power factor measurement
energy-today Number:Energy Channel for output energy today measurement
energy-yesterday Number:Energy Channel for output energy yesterday measurement
energy-total Number:Energy Channel for output energy total measurement
energy-total-start DateTime Channel for output energy total start date/time

# Full Example

tasmotaplug.things:

tasmotaplug:plug:plug1 "Plug 1" [ hostName="192.168.10.1", refresh=30 ]
tasmotaplug:plug:plug2 "Plug 2" [ hostName="myplug2", refresh=30 ]

tasmotaplug.items:

Switch Plug1 "Plug 1 Power"                   { channel="tasmotaplug:plug:plug1:power" }
Number:ElectricPotential Voltage              { channel="tasmotaplug:plug:plug1:voltage" }
Number:ElectricCurrent Current                { channel="tasmotaplug:plug:plug1:current" }
Number:Power Watts                            { channel="tasmotaplug:plug:plug1:watts" }
Number:Power VoltAmpere                       { channel="tasmotaplug:plug:plug1:volt-ampere" }
Number:Power VoltAmpereReactive               { channel="tasmotaplug:plug:plug1:volt-ampere-reactive" }
Number PowerFactor                            { channel="tasmotaplug:plug:plug1:power-factor" }
Number:Energy EnergyToday                     { channel="tasmotaplug:plug:plug1:energy-today" }
Number:Energy EnergyYesterday                 { channel="tasmotaplug:plug:plug1:energy-yesterday" }
Number:Energy EnergyTotal                     { channel="tasmotaplug:plug:plug1:energy-total" }
DateTime EnergyTotalStart  "Total Start [%s]" { channel="tasmotaplug:plug:plug1:energy-total-start" }

Switch Plug2a "4ch Power 1" { channel="tasmotaplug:plug:plug2:power" }
Switch Plug2b "4ch Power 2" { channel="tasmotaplug:plug:plug2:power2" }
Switch Plug2c "4ch Power 3" { channel="tasmotaplug:plug:plug2:power3" }
Switch Plug2d "4ch Power 4" { channel="tasmotaplug:plug:plug2:power4" }

tasmotaplug.sitemap:

sitemap tasmotaplug label="My Tasmota Plugs" {
    Frame label="Plugs" {
        Switch item=Plug1

        // Energy monitoring
        Text item=Voltage
        Text item=Current
        Text item=Watts
        Text item=VoltAmpere
        Text item=VoltAmpereReactive
        Text item=PowerFactor
        Text item=EnergyToday
        Text item=EnergyYesterday
        Text item=EnergyTotal
        Text item=EnergyTotalStart

        Switch item=Plug2a
        Switch item=Plug2b
        Switch item=Plug2c
        Switch item=Plug2d
    }
}