i have now tested it with my laptop with LAN and WLAN, no difference between Wlan and LAN, the time is still about 10sec.
on my pc (i7) over LAN it just needs 1.10 sec.
both using chrome browser!
the point is, it needs to much time from open the pimatic webinterface to switch some devices. every time iam waiting 10 sec. to switch some devices !
by the way ! pimatic rocks i love it very much.
ive copied the demo config, with that it just needs 1.5 sec,
with my config same as before.
this is my config;
{
"settings": {
"httpServer": {
"enabled": true,
"port": 80,
"debug": true,
"logLevel": "debug",
"hostname": "::"
},
"database": {
"client": "sqlite3",
"connection": {
"filename": "pimatic-database.sqlite"
},
"deviceAttributeLogging": [
{
"deviceId": "*",
"attributeName": "dbsize",
"expire": "0d",
"type": "*"
},
{
"deviceId": "*",
"attributeName": "diskusage",
"expire": "0d",
"type": "*"
},
{
"deviceId": "*",
"attributeName": "cpu",
"expire": "1d",
"type": "*"
},
{
"deviceId": "*",
"attributeName": "memory",
"expire": "0d",
"type": "*"
},
{
"deviceId": "*",
"attributeName": "*",
"type": "continuous",
"interval": "5min",
"expire": "7d"
},
{
"deviceId": "*",
"attributeName": "temperature",
"type": "number",
"expire": "1y"
},
{
"deviceId": "*",
"attributeName": "humidity",
"type": "number",
"expire": "1y"
}
],
"messageLogging": [
{
"level": "*",
"tags": [],
"expire": "7d"
}
]
},
"authentication": {
"secret": "xxxxxxxxxx"
},
"httpsServer": {},
"gui": {}
},
"plugins": [
{
"plugin": "sysinfo"
},
{
"plugin": "cron"
},
{
"plugin": "links",
"links": [
{
"title": "Gerät hinzufügen",
"url": "http://192.168.0.110/#edit-device",
"target": "_blank"
},
{
"title": "Regeln Tipps",
"url": "http://pimatic.org/guide/usage/rules/",
"target": "iframe"
},
{
"title": "Pimatic Forum",
"url": "http://forum.pimatic.org/",
"target": "_blank"
},
{
"title": "Pimatic Github",
"url": "https://github.com/pimatic/pimatic/issues",
"target": "_blank"
}
]
},
{
"plugin": "pushover",
"user": "******",
"token": "******"
},
{
"plugin": "mobile-frontend",
"mode": "production"
},
{
"plugin": "ping"
},
{
"plugin": "gpio"
},
{
"plugin": "log-reader"
},
{
"plugin": "sunrise",
"latitude": 51.501,
"longitude": 7.3371
},
{
"plugin": "shell-execute"
},
{
"plugin": "weather"
},
{
"plugin": "homeduino",
"driver": "serialport",
"driverOptions": {
"serialDevice": "/dev/ttyACM0",
"baudrate": 115200
},
"receiverPin": 0,
"transmitterPin": 4
}
],
"devices": [
{
"id": "verbauchaktueller",
"name": "Verbrauch aktueller Monat",
"class": "LogWatcher",
"file": "/root/log/EnergyMeter.log",
"attributes": [
{
"name": "Dieser",
"type": "string",
"unit": "kWh"
}
],
"lines": [
{
"match": "Dieser: (.+)",
"Dieser": "$1"
}
]
},
{
"id": "kostenaktueller",
"name": "Kosten aktueller Monat",
"class": "LogWatcher",
"file": "/root/log/EnergyMeter.log",
"attributes": [
{
"name": "Kosten jetzt",
"type": "string",
"unit": "€"
}
],
"lines": [
{
"match": "Kosten jetzt: (.+)",
"Kosten jetzt": "$1"
}
]
},
{
"id": "verbauchletzter",
"name": "Verbrauch letzter Monat",
"class": "LogWatcher",
"file": "/root/log/EnergyBilanzKosten.log",
"attributes": [
{
"name": "Verbrauch letzter",
"type": "string",
"unit": "kWh"
}
],
"lines": [
{
"match": "Verbrauch letzter: (.+)",
"Verbrauch letzter": "$1"
}
]
},
{
"id": "kostenletzter",
"name": "Kosten letzter Monat",
"class": "LogWatcher",
"file": "/root/log/EnergyBilanzKosten.log",
"attributes": [
{
"name": "Kosten vergangener",
"type": "string",
"unit": "€"
}
],
"lines": [
{
"match": "Kosten vergangener: (.+)",
"Kosten vergangener": "$1"
}
]
},
{
"id": "totalverbrauch",
"name": "Total Verbrauch",
"class": "LogWatcher",
"file": "/root/log/EnergyMeter.log",
"attributes": [
{
"unit": "kWh",
"name": "Total",
"type": "string"
}
],
"lines": [
{
"match": "Total: (.+)",
"Total": "$1"
}
]
},
{
"id": "aktuellerverbrauch",
"name": "Aktueller Verbrauch",
"class": "LogWatcher",
"file": "/root/log/EnergyMeter.log",
"attributes": [
{
"name": "Aktueller Verbrauch",
"type": "number",
"unit": "W"
}
],
"lines": [
{
"match": "Aktueller Verbrauch: (.+)",
"Aktueller Verbrauch": "$1"
}
]
},
{
"id": "MeinComputer",
"name": "Mein Computer",
"class": "PingPresence",
"host": "192.168.0.11",
"interval": 2000
},
{
"id": "Router",
"name": "Router",
"class": "PingPresence",
"host": "192.168.0.1",
"interval": 2000,
"xLink": "http://192.168.0.1"
},
{
"id": "MediaCenter",
"name": "Media Center",
"class": "PingPresence",
"host": "192.168.0.14",
"interval": 2000
},
{
"id": "MultiroomServer",
"name": "Logitech Multiroom Server",
"class": "PingPresence",
"host": "192.168.0.18",
"interval": 2000,
"xLink": "http://192.168.0.18:9000"
},
{
"id": "MeinNAS",
"name": "Mein NAS",
"class": "PingPresence",
"host": "192.168.0.18",
"interval": 2000,
"xLink": "http://192.168.0.18"
},
{
"id": "StefanHandy",
"name": "Stefan Handy",
"class": "PingPresence",
"host": "192.168.0.12",
"interval": 2000
},
{
"id": "CrisHandy",
"name": "Cris Handy",
"class": "PingPresence",
"host": "192.168.0.17",
"interval": 2000
},
{
"variables": [
{
"name": "Raumtemperaturtrend",
"expression": "$Raumtemperaturtrend",
"type": "string"
}
],
"id": "wohntemperatur-trend",
"name": "Wohntemperatur Trend",
"class": "VariablesDevice"
},
{
"buttons": [
{
"xConfirm": true,
"id": "Radio",
"text": "Radio"
},
{
"xConfirm": true,
"id": "Essen",
"text": "Essen"
},
{
"xConfirm": true,
"id": "Movie",
"text": "Movie"
},
{
"xConfirm": true,
"id": "Schlafen",
"text": "Schlafen"
},
{
"xConfirm": true,
"id": "Allesaus",
"text": "Alles Aus"
}
],
"id": "Ambiente",
"name": "Ambiente",
"class": "ButtonsDevice"
},
{
"xConfirm": true,
"id": "heizung-freigabe",
"name": "Heizung Freigabe",
"class": "DummySwitch"
},
{
"variables": [
{
"name": "Ambiente",
"expression": "$ambient",
"type": "string"
}
],
"id": "aktuelles-ambiente1",
"name": "Aktuelles Ambiente",
"class": "VariablesDevice"
},
{
"class": "SystemSensor",
"id": "syssensorcpu",
"name": "CPU Auslastung",
"attributes": [
{
"name": "cpu",
"interval": 5000
}
]
},
{
"class": "SystemSensor",
"id": "syssensortemperature",
"name": "CPU Temperatur",
"attributes": [
{
"name": "temperature",
"interval": 5000
}
]
},
{
"class": "SystemSensor",
"id": "syssensormemory",
"name": "Arbeitsspeichernutzung",
"attributes": [
{
"name": "memory",
"interval": 5000
}
]
},
{
"class": "SystemSensor",
"id": "syssensordiskusage",
"name": "Festplattennutzung",
"attributes": [
{
"name": "diskusage",
"interval": 5000,
"path": "/"
}
]
},
{
"class": "SystemSensor",
"id": "syssensordbsize",
"name": "Datenbanknutzung",
"attributes": [
{
"name": "dbsize",
"interval": 5000
}
]
},
{
"variables": [
{
"name": "Solltemperatur",
"unit": "°C",
"expression": "$Solltemperatur",
"type": "number"
}
],
"id": "solltemperatur",
"name": "Solltemperatur",
"class": "VariablesDevice"
},
{
"variables": [
{
"name": "Nachtabsenkung",
"expression": "$nachtabsenkungaktiv",
"type": "string"
}
],
"id": "nachtabsenkung",
"name": "Nachtabsenkung",
"class": "VariablesDevice"
},
{
"xLink": "",
"id": "temp-einstellen",
"name": "Temp. einstellen",
"class": "DummyShutter"
},
{
"degreeType": "C",
"lang": "de-DE",
"timeout": "300000",
"id": "wetter-heute",
"name": "Wetter Heute",
"location": "Dortmund, Germany",
"class": "WeatherDevice"
},
{
"id": "wetter-morgen",
"class": "WeatherForecastDevice",
"name": "Wetter Morgen",
"location": "Dortmund, Germany",
"degreeType": "C",
"lang": "de-DE",
"timeout": 300000,
"day": 1
},
{
"buttons": [
{
"id": "Restart Pimatic",
"text": "Restart pimatic"
}
],
"xLink": "",
"id": "restart-service",
"name": "Restart Service",
"class": "ButtonsDevice"
},
{
"inverted": true,
"id": "Heizung",
"class": "GpioSwitch",
"name": "Heizung",
"gpio": 4
},
{
"buttons": [
{
"id": "System Reboot",
"text": "System Reboot"
}
],
"xLink": "",
"id": "raspberry-reboot",
"name": "Raspberry Reboot",
"class": "ButtonsDevice"
},
{
"xConfirm": true,
"xLink": "",
"xOnLabel": "on",
"xOffLabel": "off",
"id": "comming-home",
"name": "comming home",
"class": "DummySwitch"
},
{
"comfyTemp": 22,
"ecoTemp": 20.5,
"guiShowModeControl": false,
"guiShowPresetControl": true,
"guiShowTemperatueInput": true,
"id": "thermostat",
"name": "Thermostat",
"class": "DummyHeatingThermostat"
},
{
"host": "192.168.0.15",
"interval": 2000,
"timeout": 2000,
"retries": 4,
"xLink": "",
"xPresentLabel": "",
"xAbsentLabel": "",
"id": "media-center-wohnzimmer",
"name": "Media Center Wohnzimmer",
"class": "PingPresence"
},
{
"variables": [
{
"name": "Laufzeit",
"expression": "$heizung-zeit",
"type": "number",
"unit": "std.",
"label": ""
}
],
"xLink": "",
"id": "heizung-laufzeit",
"name": "Heizung Laufzeit",
"class": "VariablesDevice"
},
{
"xConfirm": true,
"xLink": "",
"xOnLabel": "On",
"xOffLabel": "Off",
"id": "computer",
"name": "Computer",
"class": "DummySwitch"
},
{
"xConfirm": true,
"xLink": "",
"xOnLabel": "On",
"xOffLabel": "Off",
"id": "nas-server",
"name": "NAS Server",
"class": "DummySwitch"
},
{
"id": "Wohntemperatur",
"name": "Wohntemperatur",
"class": "HomeduinoRFTemperature",
"protocols": [
{
"name": "weather1",
"options": {
"id": 173,
"channel": 2
}
}
]
},
{
"id": "Schlaftemperatur",
"name": "Schlaftemperatur",
"class": "HomeduinoRFTemperature",
"protocols": [
{
"name": "weather1",
"options": {
"id": 173,
"channel": 2
}
}
]
},
{
"id": "Kühlschrank",
"name": "Kühlschrank",
"class": "HomeduinoRFTemperature",
"protocols": [
{
"name": "weather1",
"options": {
"id": 173,
"channel": 2
}
}
]
},
{
"id": "Balkonfenster",
"name": "Balkonfenster",
"class": "HomeduinoRFContactSensor",
"protocols": [
{
"name": "contact1",
"options": {
"unit": 9,
"id": 13622050,
"contact": true
}
}
]
},
{
"id": "Weinregal",
"name": "Weinregal",
"class": "HomeduinoRFSwitch",
"protocols": [
{
"name": "switch2",
"options": {
"houseCode": 11,
"unitCode": 4
}
}
]
},
{
"id": "Radio",
"name": "Radio",
"class": "HomeduinoRFSwitch",
"protocols": [
{
"name": "switch2",
"options": {
"houseCode": 31,
"unitCode": 27
}
}
]
},
{
"id": "Stehlampe",
"name": "Stehlampe",
"class": "HomeduinoRFSwitch",
"protocols": [
{
"name": "switch2",
"options": {
"houseCode": 11,
"unitCode": 1
}
}
]
},
{
"id": "Kodi Media Center",
"name": "Kodi Media Center",
"class": "HomeduinoRFSwitch",
"protocols": [
{
"name": "switch2",
"options": {
"houseCode": 31,
"unitCode": 29
}
}
]
},
{
"id": "Nachttischlampe",
"name": "Nachttischlampe",
"class": "HomeduinoRFSwitch",
"protocols": [
{
"name": "switch2",
"options": {
"houseCode": 11,
"unitCode": 8
}
}
]
},
{
"id": "Media Center",
"name": "Media Center",
"class": "HomeduinoRFSwitch",
"protocols": [
{
"name": "switch2",
"options": {
"houseCode": 11,
"unitCode": 16
}
}
]
},
{
"id": "sonnenstand",
"name": "Sonne",
"class": "ShellSensor",
"attributeName": "time",
"attributeType": "string",
"attributeUnit": "",
"command": "sudo bash /root/programme/sunrise.sh",
"interval": 3600000
},
{
"id": "system-uptime",
"name": "System uptime",
"class": "ShellSensor",
"attributeName": "Uptime",
"attributeType": "string",
"attributeUnit": "",
"command": "sudo bash /root/programme/uptime.sh",
"interval": 60000
},
{
"buttons": [
{
"id": "test",
"text": "test"
}
],
"xLink": "",
"id": "test",
"name": "test",
"class": "ButtonsDevice"
}
],
"rules": [
{
"id": "heizung-nachabsenkung",
"name": "Heizung Nachabsenkung",
"rule": "if [it is after 23:00 or before 06:30] and [Cris Handy is present or Stefan Handy is present] and $weekend is 0 then set $Solltemperatur to $nachtabsenkung and set $nachtabsenkungaktiv to $an",
"active": true,
"logging": false
},
{
"id": "heizung-taganhebung",
"name": "Heizung Taganhebung",
"rule": "if it is after 06:30 and before 23:00 and [Cris Handy is present or Stefan Handy is present] and $weekend is 0 then set $Solltemperatur to $Anwesenheitstemperatur and set $nachtabsenkungaktiv to $aus",
"active": true,
"logging": false
},
{
"id": "14",
"name": "Anwesenheits",
"rule": "if Stefan Handy is present or Cris Handy is present or comming home is on then set $Solltemperatur to $Anwesenheitstemperatur and set temp of thermostat to $Anwesenheitstemperatur",
"active": true,
"logging": false
},
{
"id": "13",
"name": "Abwesenheit",
"rule": "if Cris Handy is absent and Stefan Handy is absent and comming home is off then set $Solltemperatur to $Abwesenheitstemperatur and set temp of thermostat to $Abwesenheitstemperatur",
"active": true,
"logging": false
},
{
"id": "18",
"name": "Computer pingen",
"rule": "if Mein Computer is absent then switch Computer off",
"active": true,
"logging": false
},
{
"id": "19",
"name": "Computer pingen2",
"rule": "if Mein Computer is present then turn Computer on",
"active": true,
"logging": false
},
{
"id": "20",
"name": "Computer starten",
"rule": "if Computer is turned on then execute \"wakeonlan F4:6D:04:D4:A5:0B\"",
"active": true,
"logging": false
},
{
"id": "fenster-regel-sommer",
"name": "Fenster Regel Sommer",
"rule": "if $aussentemperatur > $Wohntemperatur.temperature and Balkonfenster is opened for 5 minutes then push message:\"Die Außentemperatur ($aussentemperatur °C) ist größer als die Wohnraumtemperatur ($Wohntemperatur.temperature °C), sie sollten die Fenster schließen damit sich der Raum nicht zu sehr aufheizt.\"",
"active": false,
"logging": false
},
{
"id": "temperatursensor-batterie",
"name": "Temperatursensor Batterie",
"rule": "if temperature of Wohntemperatur was not updated for 1 hour then push title:\"pimatic: Sensoren\" message:\"Die Batterie des Temperatursensors ist aufgebraucht.\" and set mode of thermostat to \"manu\"",
"active": false,
"logging": false
},
{
"id": "fenster-regel-winter",
"name": "Fenster Regel Winter",
"rule": "if $aussentemperatur < $Wohntemperatur.temperature and $aussentemperatur < $Starttemperatur and Balkonfenster is opened then turn Heizung off and push message:\"Die Außentemperatur ($aussentemperatur °C) ist kleiner als die Wohnraumtemperatur ($Wohntemperatur.temperature °C), die Heizung wurde abgeschaltet um Energie zu Sparen.\"",
"active": false,
"logging": false
},
{
"id": "temperatur-fallt",
"name": "Temperatur fällt",
"rule": "if $Wohntemperatur.temperature < $PreviousTemp then $PreviousTemp = $Wohntemperatur.temperature and set $Raumtemperaturtrend to $fallend",
"active": true,
"logging": false
},
{
"id": "temperatur-konstant",
"name": "Temperatur konstant",
"rule": "if $Wohntemperatur.temperature = $PreviousTemp for 1 minutes then $Raumtemperaturtrend to $konstant",
"active": true,
"logging": false
},
{
"id": "fenster-regel-winter-2",
"name": "Fenster Regel Winter 2",
"rule": "if $aussentemperatur < $Wohntemperatur.temperature and $aussentemperatur < $Starttemperatur and Balkonfenster is closed and $Raumtemperaturtrend is $konstant then turn Heizung on",
"active": false,
"logging": false
},
{
"id": "temperatur-steigt",
"name": "Temperatur steigt",
"rule": "if $Wohntemperatur.temperature > $PreviousTemp then $PreviousTemp = $Wohntemperatur.temperature and set $Raumtemperaturtrend to $steigend",
"active": true,
"logging": false
},
{
"id": "nas-auschalten",
"name": "Nas Auschalten",
"rule": "if Mein Computer is absent for 2 minutes and MediaCenter is absent for 4 minutes and Radio is off for 2 minutes and media-center-wohnzimmer is absent for 4 minutes then execute \"expect -f /root/programme/nas.expect\" and log \"es war die erste nasausschaltregel\"",
"active": true,
"logging": true
},
{
"id": "nas-anschalten",
"name": "Nas Anschalten",
"rule": "if Mein Computer is present or Radio is on or Media Center is present or NAS Server is on or Media Center Wohnzimmer is present then execute \"wakeonlan 5C:F4:AB:50:11:B5\"",
"active": true,
"logging": false
},
{
"id": "nas-pingen",
"name": "Nas pingen",
"rule": "if MeinNAS is absent then turn off NAS Server",
"active": true,
"logging": false
},
{
"id": "nas-pingen-2",
"name": "Nas pingen 2",
"rule": "if MeinNAS is present then turn on NAS Server",
"active": true,
"logging": false
},
{
"id": "media-center-anschalten",
"name": "Media Center Anschalten",
"rule": "if Media Center is turned on then turn NAS Server on and set $ambient to $schlafen",
"active": true,
"logging": false
},
{
"id": "schlafen",
"name": "Schlafen",
"rule": "if Schlafen button is pressed and Mein NAS is absent then set $ambient to $schlafen and turn on NAS Server and after 1 minute turn on Media Center",
"active": true,
"logging": false
},
{
"id": "essen",
"name": "Essen",
"rule": "if Essen button is pressed then set $ambient to $essen and turn Weinregal on",
"active": true,
"logging": false
},
{
"id": "movie",
"name": "Movie",
"rule": "if Movie button is pressed then set $ambient to $movie and turn on NAS Server and after 1 minute turn on Kodi Media Center",
"active": true,
"logging": false
},
{
"id": "alles-aus",
"name": "Alles Aus",
"rule": "if Allesaus button is pressed then turn NAS Server off and turn Media Center off and turn Nachttischlampe off and turn Weinregal off and turn Stehlampe off and turn Radio off and set $ambient to $noambient",
"active": true,
"logging": false
},
{
"id": "kein-ambiente",
"name": "Kein Ambiente",
"rule": "if Allesaus button is pressed or Mein NAS signals absent for 1 minute or Radio is off then set $ambient to $noambient",
"active": true,
"logging": false
},
{
"id": "schlafen-licht",
"name": "Schlafen Licht",
"rule": "if Schlafen button is pressed and [it is after sunset or before sunrise] then turn Nachttischlampe on",
"active": true,
"logging": false
},
{
"id": "essen-licht",
"name": "Essen Licht",
"rule": "if Essen button is pressed and it is after sunset then turn Weinregal on",
"active": true,
"logging": false
},
{
"id": "movie-licht",
"name": "Movie Licht",
"rule": "if Movie button is pressed and [it is after sunset or before sunrise] then turn Stehlampe on",
"active": true,
"logging": false
},
{
"id": "monatlicher-energieeintrag",
"name": "Monatlicher Energieeintrag",
"rule": "if [it is Jan 1 or Feb 1 or Mar 1 or Apr 1 or May 1 or Jun 1 or Jul 1 or Aug 1 or Sep 1 or Oct 1 or Nov 1 or Dec 1] and it is 00:01 then execute \"/root/programme/EnergySaver.py\" and push title:\"pimatic: Stromverbrauch\" message:\"Der Monatliche Stromverbrauch beträgt verbrauchletz $verbauchletzter.Verbrauch letzter kWh und $kostenletzter.Kosten vergangener €\"",
"active": true,
"logging": false
},
{
"id": "radio",
"name": "Radio",
"rule": "if Radio button is pressed or Radio is on then turn on Radio and set $ambient to $radio",
"active": true,
"logging": false
},
{
"id": "computer-herunterfahren",
"name": "Computer Herunterfahren",
"rule": "if Computer is turned off then execute \"net rpc shutdown -I 192.168.0.11 -U paco%technics86\"",
"active": false,
"logging": false
},
{
"id": "restart-pimatic",
"name": "Restart pimatic",
"rule": "if Restart Pimatic button is pressed then execute \"service pimatic restart\"",
"active": true,
"logging": false
},
{
"id": "schlafen-2",
"name": "Schlafen 2",
"rule": "if Schlafen button is pressed and Mein NAS is present then turn Media Center on and set $ambient to $schlafen",
"active": true,
"logging": false
},
{
"id": "nas-auschalten-2",
"name": "Nas Auschalten 2",
"rule": "if NAS Server is turned off and Mein NAS is present for 20 seconds then execute \"expect -f /root/programme/nas.expect\"",
"active": false,
"logging": true
},
{
"id": "heizung-weekend",
"name": "Heizung Weekend",
"rule": "if it is friday and after 12:00 or saturday or sunday and before 12:00 then set $weekend to 1",
"active": true,
"logging": false
},
{
"id": "heizung-weekday",
"name": "Heizung Weekday",
"rule": "if it is monday or tuesday or wednesday or thursday or friday or [sunday and after 12:00] then set $weekend to 0",
"active": true,
"logging": false
},
{
"id": "heizung-taganhebung-weekend",
"name": "Heizung Taganhebung weekend",
"rule": "if it is after 08:00 and before 23:59 and [Cris Handy is present or Stefan Handy is present] and $weekend is 1 then set $Solltemperatur to $Anwesenheitstemperatur and set $nachtabsenkungaktiv to $aus",
"active": true,
"logging": false
},
{
"id": "heizung-nachabsenkung-weekend",
"name": "Heizung Nachabsenkung weekend",
"rule": "if [it is after 23:59 or before 08:00] and [Cris Handy is present or Stefan Handy is present] and $weekend is 1 then set $Solltemperatur to $nachtabsenkung and set $nachtabsenkungaktiv to $an",
"active": true,
"logging": false
},
{
"id": "pi-reboot",
"name": "pi reboot",
"rule": "if System Reboot is pressed then execute \"reboot\"",
"active": true,
"logging": false
},
{
"id": "high-cpu",
"name": "High CPU",
"rule": "if cpu of CPU Auslastung = 100 % for 20 minutes then execute \"service pimatic restart\"",
"active": true,
"logging": false
},
{
"id": "movie-2",
"name": "Movie 2",
"rule": "if Media Center Wohnzimmer is present and Mein NAS is present then set $ambient to $movie",
"active": true,
"logging": false
},
{
"id": "comming-home-aus",
"name": "comming home aus",
"rule": "if Stefan Handy is present or Cris Handy is present then turn off comming home",
"active": true,
"logging": false
},
{
"id": "energymeter-sensor",
"name": "EnergyMeter Sensor",
"rule": "if Aktueller Verbrauch of aktuellerverbrauch was not updated for 10 minutes then push title:\"pimatic: Sensoren\" message:\"Der Stromsensor scheint ein Problem zu verursachen.\" and execute \"reboot\"",
"active": false,
"logging": false
},
{
"id": "thermostat-an",
"name": "Thermostat an",
"rule": "if $Wohntemperatur.temperature < ($thermostat.temperatureSetpoint - $tempstep) and Heizung Freigabe is on and Balkonfenster is closed and [$Raumtemperaturtrend is $konstant or $Raumtemperaturtrend is $fallend] then turn Heizung on",
"active": true,
"logging": false
},
{
"id": "thermostat-aus",
"name": "Thermostat aus",
"rule": "if $Wohntemperatur.temperature >= $thermostat.temperatureSetpoint and Heizung is on or Balkonfenster is opened or Heizung is off or Heizung Freigabe is off then turn Heizung off",
"active": true,
"logging": false
},
{
"id": "thermostat-boost",
"name": "Thermostat boost",
"rule": "if mode of Thermostat is boost then set temp of thermostat to 23",
"active": true,
"logging": false
},
{
"id": "thermostat-auto",
"name": "Thermostat auto",
"rule": "if mode of thermostat is auto then set temp of Thermostat to $Anwesenheitstemperatur",
"active": true,
"logging": false
},
{
"id": "thermostat-einstellen",
"name": "Thermostat einstellen",
"rule": "if $thermostat.temperatureSetpoint changes and mode of thermostat is not boost and [Stefan Handy is present or Cris Handy is present or comming home is on] and $nachtabsenkungaktiv is $aus then set $Anwesenheitstemperatur to $thermostat.temperatureSetpoint",
"active": true,
"logging": false
},
{
"id": "thermostat-einstellen-2",
"name": "Thermostat einstellen 2",
"rule": "if $thermostat.temperatureSetpoint changes and mode of thermostat is not boost and Stefan Handy is absent and Cris Handy is absent and comming home is off then set $Abwesenheitstemperatur to $thermostat.temperatureSetpoint",
"active": true,
"logging": false
},
{
"id": "thermostat-einstellen-3",
"name": "Thermostat einstellen 3",
"rule": "if $thermostat.temperatureSetpoint changes and mode of thermostat is not boost and mode of thermostat is not manu and comming home is on then set $Anwesenheitstemperatur to $thermostat.temperatureSetpoint",
"active": true,
"logging": false
},
{
"id": "thermostat-einstellen-nachtabsekung",
"name": "Thermostat einstellen Nachtabsekung",
"rule": "if $thermostat.temperatureSetpoint changes and mode of thermostat is not boost and mode of thermostat is not manu and $nachtabsenkungaktiv is $an and [Stefan Handy is present or Cris Handy is present] then set $nachtabsenkung to $thermostat.temperatureSetpoint",
"active": true,
"logging": false
},
{
"id": "thermostat-nachtabsenkung",
"name": "Thermostat Nachtabsenkung",
"rule": "if $nachtabsenkungaktiv is $an and [Stefan Handy is present or Cris Handy is present] then set temp of thermostat to $nachtabsenkung",
"active": true,
"logging": false
},
{
"id": "thermostat-taganhebung",
"name": "Thermostat Taganhebung",
"rule": "if $nachtabsenkungaktiv is $aus then set temp of thermostat to $Anwesenheitstemperatur",
"active": true,
"logging": false
},
{
"id": "comming-home-aus-2",
"name": "comming home aus 2",
"rule": "if [Stefan Handy is present or Cris Handy is present] and comming home is on then turn off comming home",
"active": true,
"logging": false
},
{
"id": "heizung-zeit-zahlen",
"name": "heizung zeit zählen",
"rule": "if Heizung is on and every 1 minute then set $heizung-zeit-minuten to $heizung-zeit-minuten +1",
"active": true,
"logging": false
},
{
"id": "heizung-zeit-nullen",
"name": "heizung zeit nullen",
"rule": "if it is 00:00 then set $heizung-zeit-monat to $heizung-zeit-monat + $heizung-zeit and after 10 ms $heizung-zeit to 0 and after 10 ms set $heizung-zeit-minuten to 0 and set $heizung-zeit-std to 0 and after 10 ms set $heizung-zeit to $heizung-zeit-minuten",
"active": true,
"logging": false
},
{
"id": "kodi-media-center-ausschalten",
"name": "Kodi Media Center Ausschalten",
"rule": "if Media Center Wohnzimmer is absent for 4 minutes then turn off Kodi Media Center",
"active": true,
"logging": false
},
{
"id": "kodi-media-center-anschalten",
"name": "Kodi Media Center Anschalten",
"rule": "if Kodi Media Center is turned on then turn NAS Server on and set $ambient to $movie",
"active": true,
"logging": false
},
{
"id": "media-center-ausschalten",
"name": "Media Center Ausschalten",
"rule": "if MediaCenter is absent for 4 minutes then turn Media Center off",
"active": true,
"logging": false
},
{
"id": "heizung-laufzeit-von-min-in-std",
"name": "Heizung Laufzeit von min. in std.",
"rule": "if $heizung-zeit-minuten = 3 then set $heizung-zeit-std = $heizung-zeit-std + 0.05 and after 10 ms set $heizung-zeit to $heizung-zeit-std and set $heizung-zeit-minuten = 0",
"active": true,
"logging": false
},
{
"id": "movie-3",
"name": "Movie 3",
"rule": "if Movie button is pressed and Mein NAS is present then set $ambient to $movie and turn Kodi Media Center on",
"active": true,
"logging": false
},
{
"id": "kaffeemaschine-saubern",
"name": "Kaffeemaschine säubern",
"rule": "if it is sunday and after 08:00 then pushover title:\"Kaffemaschine reinigen\" message:\"Bitte reinigen Sie ihre Kaffeemaschine um aromatischen Kaffee zu geniesen.\"",
"active": true,
"logging": false
},
{
"id": "test",
"name": "test",
"rule": "if temperature of Wohntemperatur was not updated for 5 minutes then log \"geht nicht\"",
"active": true,
"logging": true
},
{
"id": "test1",
"name": "test1",
"rule": "if test button is pressed then execute \"telnet 192.168.0.18 9595\"",
"active": true,
"logging": true
}
],
"variables": [
{
"name": "nachtabsenkung",
"value": 20
},
{
"name": "Solltemperatur",
"value": 22
},
{
"name": "Batterie",
"value": 1
},
{
"name": "Starttemperatur",
"value": "6"
},
{
"name": "Abwesenheitstemperatur",
"value": 20.5
},
{
"name": "PreviousTemp",
"value": 22.1
},
{
"name": "fallend",
"expression": "\"fallend\""
},
{
"name": "steigend",
"expression": "\"steigend\""
},
{
"name": "Raumtemperaturtrend",
"value": "fallend"
},
{
"name": "konstant",
"expression": "\"konstant\""
},
{
"name": "tempswitch",
"value": 0
},
{
"name": "tempstep",
"value": 0.1
},
{
"name": "winterstart",
"expression": "\"Nov 1\""
},
{
"name": "sommerstart",
"expression": "\"Mar 1\""
},
{
"name": "schlafen",
"value": "Schlafen"
},
{
"name": "essen",
"expression": "\"Essen\""
},
{
"name": "movie",
"expression": "\"Movie\""
},
{
"name": "noambient",
"expression": "\"kein Ambiente gewählt\""
},
{
"name": "ambient",
"value": "Movie"
},
{
"name": "radio",
"expression": "\"Radio\""
},
{
"name": "einheit",
"expression": "\"°C\""
},
{
"name": "Anwesenheitstemperatur",
"value": 22
},
{
"name": "nachtabsenkungaktiv",
"value": "Aus"
},
{
"name": "an",
"value": "An"
},
{
"name": "aus",
"value": "Aus"
},
{
"name": "aussentemperatur",
"value": "$wetter-heute.temperature"
},
{
"name": "weekend",
"value": 0
},
{
"name": "tempsteptrend",
"value": 0.1
},
{
"name": "heizung-zeit",
"value": 1.900000000000001
},
{
"name": "heizungtempswitch",
"value": 0
},
{
"name": "heizung-zeit-std",
"value": 1.900000000000001
},
{
"name": "heizung-zeit-monat",
"value": 63.54999999999994
},
{
"name": "heizung-zeit-minuten",
"value": 1
}
],
"pages": [
{
"id": "wohnen",
"name": "Wohnen",
"devices": [
{
"deviceId": "Stehlampe"
},
{
"deviceId": "Weinregal"
},
{
"deviceId": "Radio"
},
{
"deviceId": "Balkonfenster"
},
{
"deviceId": "Wohntemperatur"
},
{
"deviceId": "computer"
},
{
"deviceId": "Kodi Media Center"
},
{
"deviceId": "nas-server"
},
{
"deviceId": "aktuellerverbrauch"
},
{
"deviceId": "wetter-heute"
},
{
"deviceId": "wetter-morgen"
},
{
"deviceId": "sonnenstand"
},
{
"deviceId": "wohntemperatur-trend"
},
{
"deviceId": "Kühlschrank"
},
{
"deviceId": "totalverbrauch"
},
{
"deviceId": "verbauchaktueller"
},
{
"deviceId": "kostenaktueller"
},
{
"deviceId": "verbauchletzter"
},
{
"deviceId": "kostenletzter"
},
{
"deviceId": "Ambiente"
},
{
"deviceId": "aktuelles-ambiente1"
},
{
"deviceId": "comming-home"
}
]
},
{
"id": "heizung",
"name": "Heizung",
"devices": [
{
"deviceId": "Wohntemperatur"
},
{
"deviceId": "thermostat"
},
{
"deviceId": "heizung-laufzeit"
},
{
"deviceId": "wohntemperatur-trend"
},
{
"deviceId": "heizung-freigabe"
},
{
"deviceId": "Heizung"
},
{
"deviceId": "nachtabsenkung"
}
]
},
{
"id": "schlafen",
"name": "Schlafen",
"devices": [
{
"deviceId": "Nachttischlampe"
},
{
"deviceId": "Media Center"
},
{
"deviceId": "Schlaftemperatur"
}
]
},
{
"id": "geräte",
"name": "Geräte",
"devices": [
{
"deviceId": "restart-service"
},
{
"deviceId": "raspberry-reboot"
},
{
"deviceId": "system-uptime"
},
{
"deviceId": "syssensorcpu"
},
{
"deviceId": "syssensortemperature"
},
{
"deviceId": "syssensormemory"
},
{
"deviceId": "syssensordiskusage"
},
{
"deviceId": "syssensordbsize"
},
{
"deviceId": "StefanHandy"
},
{
"deviceId": "CrisHandy"
},
{
"deviceId": "MeinComputer"
},
{
"deviceId": "media-center-wohnzimmer"
},
{
"deviceId": "MediaCenter"
},
{
"deviceId": "MeinNAS"
},
{
"deviceId": "Router"
},
{
"deviceId": "MultiroomServer"
}
]
}
],
"groups": [
{
"id": "wetter",
"name": "Wetter",
"devices": [
"wetter-morgen",
"wetter-heute",
"sonnenstand"
],
"rules": [],
"variables": []
},
{
"id": "temperaturen",
"name": "Temperaturen",
"devices": [
"wohntemperatur-trend",
"Wohntemperatur",
"Kühlschrank",
"Schlaftemperatur"
],
"rules": [
"temperatur-steigt",
"temperatur-konstant",
"temperatur-fallt"
],
"variables": [
"PreviousTemp",
"fallend",
"konstant",
"steigend",
"Raumtemperaturtrend",
"tempswitch",
"tempstep",
"tempsteptrend"
]
},
{
"id": "thermostat",
"name": "Thermostat",
"devices": [
"nachtabsenkung",
"thermostat",
"heizung-laufzeit"
],
"rules": [
"heizung-taganhebung",
"heizung-nachabsenkung",
"heizung-taganhebung-weekend",
"heizung-nachabsenkung-weekend",
"heizung-weekday",
"heizung-weekend",
"heizung-zeit-nullen",
"heizung-zeit-zahlen",
"comming-home-aus-2",
"thermostat-taganhebung",
"thermostat-nachtabsenkung",
"thermostat-einstellen-nachtabsekung",
"thermostat-einstellen-3",
"thermostat-einstellen-2",
"thermostat-einstellen",
"thermostat-auto",
"thermostat-boost",
"thermostat-an",
"thermostat-aus",
"heizung-laufzeit-von-min-in-std"
],
"variables": [
"Batterie",
"Solltemperatur",
"Starttemperatur",
"nachtabsenkung",
"Anwesenheitstemperatur",
"Abwesenheitstemperatur",
"aussentemperatur",
"winterstart",
"sommerstart",
"heizung-zeit",
"heizungtempswitch",
"heizung-zeit-minuten",
"heizung-zeit-std",
"heizung-zeit-monat",
"weekend",
"an",
"aus",
"nachtabsenkungaktiv",
"einheit"
]
},
{
"id": "schalter",
"name": "Schalter",
"devices": [
"heizung-freigabe",
"Heizung",
"comming-home",
"Stehlampe",
"Weinregal",
"Radio",
"Nachttischlampe",
"Media Center"
],
"rules": [],
"variables": []
},
{
"id": "handy`s",
"name": "Handy`s",
"devices": [
"StefanHandy",
"CrisHandy"
],
"rules": [],
"variables": []
},
{
"id": "computer",
"name": "Computer",
"devices": [
"MeinComputer",
"MediaCenter",
"MeinNAS",
"Router",
"MultiroomServer",
"media-center-wohnzimmer",
"computer",
"nas-server",
"Kodi Media Center"
],
"rules": [
"18",
"19",
"20",
"computer-herunterfahren"
],
"variables": []
},
{
"id": "Fenster",
"name": "Fenster",
"devices": [
"Balkonfenster"
],
"rules": [
"fenster-regel-sommer",
"fenster-regel-winter",
"fenster-regel-winter-2"
],
"variables": []
},
{
"id": "sensoren",
"name": "Sensoren",
"devices": [],
"rules": [
"temperatursensor-batterie",
"energymeter-sensor"
],
"variables": []
},
{
"id": "anwesenheit",
"name": "Anwesenheit",
"devices": [],
"rules": [
"14",
"13",
"comming-home-aus"
],
"variables": []
},
{
"id": "media-center",
"name": "Media Center",
"devices": [],
"rules": [
"media-center-ausschalten",
"media-center-anschalten",
"kodi-media-center-ausschalten",
"kodi-media-center-anschalten"
],
"variables": []
},
{
"id": "nas-server",
"name": "NAS Server",
"devices": [],
"rules": [
"nas-auschalten",
"nas-auschalten-2",
"nas-anschalten",
"nas-pingen",
"nas-pingen-2"
],
"variables": []
},
{
"id": "ambiente",
"name": "Ambiente",
"devices": [
"Ambiente",
"aktuelles-ambiente1"
],
"rules": [
"radio",
"schlafen",
"schlafen-2",
"schlafen-licht",
"essen",
"essen-licht",
"movie",
"movie-2",
"movie-3",
"movie-licht",
"alles-aus",
"kein-ambiente"
],
"variables": [
"schlafen",
"essen",
"movie",
"radio",
"ambient",
"noambient"
]
},
{
"id": "verbraucher",
"name": "Verbraucher",
"devices": [
"pilight-Balkon-Stehlampe"
],
"rules": [],
"variables": []
},
{
"id": "stromverbrauch",
"name": "Stromverbrauch",
"devices": [
"totalverbrauch",
"aktuellerverbrauch",
"verbauchletzter",
"kostenletzter",
"kostenaktueller",
"verbauchaktueller"
],
"rules": [
"monatlicher-energieeintrag"
],
"variables": []
},
{
"id": "homeautomation-server",
"name": "Homeautomation Server",
"devices": [
"syssensorcpu",
"syssensortemperature",
"syssensormemory",
"syssensordiskusage",
"syssensordbsize",
"restart-service",
"raspberry-reboot",
"system-uptime"
],
"rules": [
"high-cpu",
"restart-pimatic",
"pi-reboot"
],
"variables": []
},
{
"id": "erinnerungen",
"name": "Erinnerungen",
"devices": [],
"rules": [
"kaffeemaschine-saubern"
],
"variables": []
}
],
"users": [
{
"username": "admin",
"password": "xxxxxxxxxx",
"role": "admin"
},
{
"username": "K3ule",
"password": "xxxxxxxxxx",
"role": "guest"
},
{
"username": "cris",
"password": "xxxxxxxxxx",
"role": "family"
},
{
"username": "alex",
"password": "xxxxxxxxxx",
"role": "guest"
}
],
"roles": [
{
"name": "admin",
"permissions": {
"pages": "write",
"rules": "write",
"variables": "write",
"messages": "write",
"events": "write",
"config": "write",
"devices": "write",
"groups": "write",
"plugins": "write",
"updates": "write",
"controlDevices": true,
"database": "write",
"restart": true
}
},
{
"name": "guest",
"permissions": {
"pages": "read",
"rules": "read",
"variables": "read",
"messages": "read",
"config": "read",
"events": "read",
"devices": "read",
"groups": "read",
"plugins": "read",
"controlDevices": false,
"updates": "read"
}
},
{
"name": "family",
"permissions": {
"pages": "read",
"rules": "read",
"variables": "read",
"messages": "read",
"config": "read",
"events": "read",
"devices": "read",
"groups": "read",
"plugins": "read",
"controlDevices": true,
"updates": "read"
}
}
]
}