mirror of
https://github.com/tomaae/homeassistant-mikrotik_router.git
synced 2025-07-12 18:34:30 +02:00
Added temperature sensor #47
This commit is contained in:
parent
b53c346dc6
commit
9eff454269
4 changed files with 32 additions and 3 deletions
|
@ -36,7 +36,7 @@ Monitor and control your Mikrotik device from Home Assistant.
|
||||||
* Enable/disable Simple Queue switches
|
* Enable/disable Simple Queue switches
|
||||||
* Mikrotik Accounting traffic sensors per hosts for RX/TX WAN/LAN
|
* Mikrotik Accounting traffic sensors per hosts for RX/TX WAN/LAN
|
||||||
* Device tracker for hosts in network
|
* Device tracker for hosts in network
|
||||||
* System sensors (CPU, Memory, HDD)
|
* System sensors (CPU, Memory, HDD, Temperature)
|
||||||
* Check firmware update
|
* Check firmware update
|
||||||
* Execute scripts using switches or services
|
* Execute scripts using switches or services
|
||||||
* Configurable update interval
|
* Configurable update interval
|
||||||
|
|
|
@ -55,6 +55,7 @@ class MikrotikControllerData:
|
||||||
self.data = {
|
self.data = {
|
||||||
"routerboard": {},
|
"routerboard": {},
|
||||||
"resource": {},
|
"resource": {},
|
||||||
|
"health": {},
|
||||||
"interface": {},
|
"interface": {},
|
||||||
"bridge": {},
|
"bridge": {},
|
||||||
"bridge_host": {},
|
"bridge_host": {},
|
||||||
|
@ -269,6 +270,9 @@ class MikrotikControllerData:
|
||||||
if self.api.connected():
|
if self.api.connected():
|
||||||
await self.hass.async_add_executor_job(self.get_system_resource)
|
await self.hass.async_add_executor_job(self.get_system_resource)
|
||||||
|
|
||||||
|
if self.api.connected():
|
||||||
|
await self.hass.async_add_executor_job(self.get_system_health)
|
||||||
|
|
||||||
if self.api.connected():
|
if self.api.connected():
|
||||||
await self.hass.async_add_executor_job(self.get_script)
|
await self.hass.async_add_executor_job(self.get_script)
|
||||||
|
|
||||||
|
@ -637,6 +641,17 @@ class MikrotikControllerData:
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# ---------------------------
|
||||||
|
# get_system_health
|
||||||
|
# ---------------------------
|
||||||
|
def get_system_health(self):
|
||||||
|
"""Get routerboard data from Mikrotik"""
|
||||||
|
self.data["health"] = parse_api(
|
||||||
|
data=self.data["health"],
|
||||||
|
source=self.api.path("/system/health"),
|
||||||
|
vals=[{"name": "temperature", "default": "unknown"}],
|
||||||
|
)
|
||||||
|
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
# get_system_resource
|
# get_system_resource
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
|
|
|
@ -2,7 +2,12 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from homeassistant.const import CONF_NAME, ATTR_ATTRIBUTION, ATTR_DEVICE_CLASS
|
from homeassistant.const import (
|
||||||
|
CONF_NAME,
|
||||||
|
ATTR_ATTRIBUTION,
|
||||||
|
ATTR_DEVICE_CLASS,
|
||||||
|
TEMP_CELSIUS,
|
||||||
|
)
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
|
@ -34,6 +39,15 @@ ATTR_PATH = "data_path"
|
||||||
ATTR_ATTR = "data_attr"
|
ATTR_ATTR = "data_attr"
|
||||||
|
|
||||||
SENSOR_TYPES = {
|
SENSOR_TYPES = {
|
||||||
|
"system_temperature": {
|
||||||
|
ATTR_DEVICE_CLASS: None,
|
||||||
|
ATTR_ICON: "mdi:thermometer",
|
||||||
|
ATTR_LABEL: "Temperature",
|
||||||
|
ATTR_UNIT: TEMP_CELSIUS,
|
||||||
|
ATTR_GROUP: "System",
|
||||||
|
ATTR_PATH: "health",
|
||||||
|
ATTR_ATTR: "temperature",
|
||||||
|
},
|
||||||
"system_cpu-load": {
|
"system_cpu-load": {
|
||||||
ATTR_DEVICE_CLASS: None,
|
ATTR_DEVICE_CLASS: None,
|
||||||
ATTR_ICON: "mdi:speedometer",
|
ATTR_ICON: "mdi:speedometer",
|
||||||
|
|
2
info.md
2
info.md
|
@ -16,7 +16,7 @@ Monitor and control your Mikrotik device from Home Assistant.
|
||||||
* Enable/disable Simple Queue switches
|
* Enable/disable Simple Queue switches
|
||||||
* Mikrotik Accounting traffic sensors per hosts for RX/TX WAN/LAN
|
* Mikrotik Accounting traffic sensors per hosts for RX/TX WAN/LAN
|
||||||
* Device tracker for hosts in network
|
* Device tracker for hosts in network
|
||||||
* System sensors (CPU, Memory, HDD)
|
* System sensors (CPU, Memory, HDD, Temperature)
|
||||||
* Check firmware update
|
* Check firmware update
|
||||||
* Execute scripts
|
* Execute scripts
|
||||||
* Configurable update interval
|
* Configurable update interval
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue