Hi!
I'm running version v8.1.1-nightly-602146e8. After pilight is running a longer time, the clients can no longer connect to the webserver. This happens after about 4 to 8 weeks of up-time. pilight ist still running fine, all timers are executed. Last time I was able to find a message in the log
It seems that pilight is using up file-handlers. Maybe connect to this I sometimes the message of the append jpg. What does that stand for?
That is my config
And thanks for providing us with that great product, curlymo !!
Uli
I'm running version v8.1.1-nightly-602146e8. After pilight is running a longer time, the clients can no longer connect to the webserver. This happens after about 4 to 8 weeks of up-time. pilight ist still running fine, all timers are executed. Last time I was able to find a message in the log
Code:
[Feb 22 16:53:34:335435] pilight-daemon: ERROR: open: Too many open files
[Feb 22 16:53:34:335507] pilight-daemon: WARNING: (webserver) could not read /usr/local/share/pilight/webgui//index.html
That is my config
Code:
{
"devices": {
"Version": {
"protocol": [ "generic_label" ],
"id": [{
"id": 198
}],
"label": "01.12.2018",
"color": "Blue"
},
"ZeitEGArbeit": {
"protocol": [ "generic_label" ],
"id": [{
"id": 199
}],
"label": "ab 18:15",
"color": "black"
},
"Arbeitstag": {
"protocol": [ "generic_switch" ],
"id": [{
"id": 200
}],
"state": "off"
},
"RolloEsszimmer": {
"protocol": [ "kaku_screen_old" ],
"id": [{
"id": 13,
"unit": 0
}],
"state": "up"
},
"RolloKlavier": {
"protocol": [ "kaku_screen_old" ],
"id": [{
"id": 13,
"unit": 1
}],
"state": "up"
},
"RolloCouch": {
"protocol": [ "kaku_screen_old" ],
"id": [{
"id": 13,
"unit": 4
}],
"state": "up"
},
"RolloHof": {
"protocol": [ "kaku_screen_old" ],
"id": [{
"id": 13,
"unit": 8
}],
"state": "up"
},
"RolloAlles": {
"protocol": [ "generic_screen" ],
"id": [{
"id": 119
}],
"state": "up"
},
"Wohnzimmer": {
"protocol": [ "elro_800_switch" ],
"id": [{
"systemcode": 208,
"unitcode": 1
}],
"state": "on"
},
"Esszimmer": {
"protocol": [ "elro_800_switch" ],
"id": [{
"systemcode": 208,
"unitcode": 2
}],
"state": "on"
},
"Kueche": {
"protocol": [ "elro_800_switch" ],
"id": [{
"systemcode": 208,
"unitcode": 3
}],
"state": "on"
},
"Weihnachtsbaum": {
"protocol": [ "elro_800_switch" ],
"id": [{
"systemcode": 208,
"unitcode": 4
}],
"state": "off"
},
"SteckdoseRund1": {
"protocol": [ "clarus_switch" ],
"id": [{
"id": "A3",
"unit": 18
}],
"state": "on"
},
"SteckdoseRund2": {
"protocol": [ "clarus_switch" ],
"id": [{
"id": "B3",
"unit": 18
}],
"state": "on"
},
"SteckdoseRund3": {
"protocol": [ "clarus_switch" ],
"id": [{
"id": "C7",
"unit": 18
}],
"state": "off"
},
"SteckdoseEckig1": {
"protocol": [ "elro_800_switch" ],
"id": [{
"systemcode": 21,
"unitcode": 1
}],
"state": "off"
},
"SteckdoseEckig2": {
"protocol": [ "elro_800_switch" ],
"id": [{
"systemcode": 21,
"unitcode": 2
}],
"state": "on"
},
"SteckdoseEckig3": {
"protocol": [ "elro_800_switch" ],
"id": [{
"systemcode": 21,
"unitcode": 4
}],
"state": "off"
},
"Alles": {
"protocol": [ "generic_switch" ],
"id": [{
"id": 98
}],
"state": "on"
},
"Diele": {
"protocol": [ "generic_switch" ],
"id": [{
"id": 99
}],
"state": "on"
},
"TimerEG": {
"protocol": [ "generic_switch" ],
"id": [{
"id": 100
}],
"state": "on"
},
"TimerOG": {
"protocol": [ "generic_switch" ],
"id": [{
"id": 101
}],
"state": "on"
},
"TimerRollos": {
"protocol": [ "generic_switch" ],
"id": [{
"id": 102
}],
"state": "on"
},
"TimerUrlaub": {
"protocol": [ "generic_switch" ],
"id": [{
"id": 103
}],
"state": "off"
},
"ZeitEGDiDoFr": {
"protocol": [ "generic_label" ],
"id": [{
"id": 110
}],
"label": "ab 18:15",
"color": "Gray"
},
"ZeitEGMoMiWo": {
"protocol": [ "generic_label" ],
"id": [{
"id": 111
}],
"label": "ab Sunset - 0:45",
"color": "Green"
},
"ZeitOG": {
"protocol": [ "generic_label" ],
"id": [{
"id": 112
}],
"label": "Sunset bis 23:00",
"color": "Green"
},
"ZeitRollos": {
"protocol": [ "generic_label" ],
"id": [{
"id": 113
}],
"label": "22:00 bis 7:00",
"color": "Green"
},
"ZeitUrlaubEG": {
"protocol": [ "generic_label" ],
"id": [{
"id": 114
}],
"label": "nicht aktiv",
"color": "Gray"
},
"ZeitUrlaubOG": {
"protocol": [ "generic_label" ],
"id": [{
"id": 115
}],
"label": "nicht aktiv",
"color": "Gray"
},
"ZeitTest1": {
"protocol": [ "generic_label" ],
"id": [{
"id": 116
}],
"label": "213318",
"color": "black"
},
"ZeitTest2": {
"protocol": [ "generic_label" ],
"id": [{
"id": 117
}],
"label": "184500",
"color": "black"
},
"Currentdatetime": {
"protocol": [ "datetime" ],
"id": [{
"longitude": 8.675,
"latitude": 49.991
}],
"year": 2018,
"month": 12,
"day": 1,
"hour": 16,
"minute": 57,
"second": 9,
"weekday": 7,
"dst": 0
},
"Sunriseset": {
"protocol": [ "sunriseset" ],
"id": [{
"longitude": 8.675,
"latitude": 49.991
}],
"sunrise": 8.02,
"sunset": 16.28,
"sun": "set"
},
"webcam": {
"protocol": [ "generic_webcam" ],
"id": [{
"id": 120
}],
"poll-interval": 1,
"url": "http://192.168.2.77/webcapture.jpg?command=snap&channel=1[112233]"
}
},
"rules": {
"SetArbeitstagAn": {
"rule": "IF Currentdatetime.weekday == 3 OR Currentdatetime.weekday == 5 OR Currentdatetime.weekday == 6 THEN switch DEVICE Arbeitstag TO on",
"active": 1
},
"SetArbeitstagAus": {
"rule": "IF Currentdatetime.weekday == 2 OR Currentdatetime.weekday == 4 OR Currentdatetime.weekday == 7 OR Currentdatetime.weekday == 1 THEN switch DEVICE Arbeitstag TO off",
"active": 1
},
"SetLabelEGArbeit1": {
"rule": "IF Currentdatetime.second != -1 AND Sunriseset.sunset * 100 < 1900 THEN label DEVICE ZeitEGArbeit TO 'ab 18:15'",
"active": 1
},
"SetLabelEGArbeit2": {
"rule": "IF Currentdatetime.second != -1 AND Sunriseset.sunset * 100 >= 1900 THEN label DEVICE ZeitEGArbeit TO 'ab Sunset - 0:45'",
"active": 1
},
"SetLabelEG1": {
"rule": "IF Currentdatetime.second != -1 AND TimerEG.state == on AND TimerUrlaub.state == off AND Arbeitstag.state == on THEN label DEVICE ZeitEGDiDoFr TO ZeitEGArbeit.label COLOR Green",
"active": 1
},
"SetLabelEG2": {
"rule": "IF Currentdatetime.second != -1 AND TimerEG.state == on AND TimerUrlaub.state == off AND Arbeitstag.state == off THEN label DEVICE ZeitEGDiDoFr TO ZeitEGArbeit.label COLOR Gray",
"active": 1
},
"SetLabelEG3": {
"rule": "IF Currentdatetime.second != -1 AND TimerEG.state == on AND TimerUrlaub.state == off AND Arbeitstag.state == on THEN label DEVICE ZeitEGMoMiWo TO 'ab Sunset - 0:45' COLOR Gray",
"active": 1
},
"SetLabelEG4": {
"rule": "IF Currentdatetime.second != -1 AND TimerEG.state == on AND TimerUrlaub.state == off AND Arbeitstag.state == off THEN label DEVICE ZeitEGMoMiWo TO 'ab Sunset - 0:45' COLOR Green",
"active": 1
},
"SetLabelEG5": {
"rule": "IF Currentdatetime.second != -1 AND TimerEG.state == off AND TimerUrlaub.state == off THEN label DEVICE ZeitEGDiDoFr TO 'nicht aktiv' COLOR Gray",
"active": 1
},
"SetLabelEG6": {
"rule": "IF Currentdatetime.second != -1 AND TimerEG.state == off AND TimerUrlaub.state == off THEN label DEVICE ZeitEGMoMiWo TO 'nicht aktiv' COLOR Gray",
"active": 1
},
"SetLabelOG1": {
"rule": "IF Currentdatetime.second != -1 AND TimerOG.state == on AND TimerUrlaub.state == off THEN label DEVICE ZeitOG TO 'Sunset bis 23:00' COLOR Green",
"active": 1
},
"SetLabelOG2": {
"rule": "IF Currentdatetime.second != -1 AND TimerOG.state == off AND TimerUrlaub.state == off THEN label DEVICE ZeitOG TO 'nicht aktiv' COLOR Gray",
"active": 1
},
"SetLabelRollos1": {
"rule": "IF Currentdatetime.second != -1 AND TimerRollos.state == on THEN label DEVICE ZeitRollos TO '22:00 bis 7:00' COLOR Green",
"active": 1
},
"SetLabelRollos2": {
"rule": "IF Currentdatetime.second != -1 AND TimerRollos.state == off THEN label DEVICE ZeitRollos TO 'nicht aktiv' COLOR Gray",
"active": 1
},
"SetLabelUrlaubEG1": {
"rule": "IF TimerUrlaub.state == off THEN label DEVICE ZeitUrlaubEG TO 'nicht aktiv' COLOR Gray",
"active": 1
},
"SetLabelUrlaubEG2": {
"rule": "IF TimerUrlaub.state == on THEN label DEVICE ZeitUrlaubEG TO 'Sunset-0:45 bis 22:00~0:20' COLOR Green",
"active": 1
},
"SetLabelUrlaubEG3": {
"rule": "IF TimerUrlaub.state == on THEN label DEVICE ZeitEGDiDoFr TO 'Urlaub' COLOR Red",
"active": 1
},
"SetLabelUrlaubEG4": {
"rule": "IF TimerUrlaub.state == on THEN label DEVICE ZeitEGMoMiWo TO 'Urlaub' COLOR Red",
"active": 1
},
"SetLabelUrlaubOG1": {
"rule": "IF TimerUrlaub.state == off THEN label DEVICE ZeitUrlaubOG TO 'nicht aktiv' COLOR Gray",
"active": 1
},
"SetLabelUrlaubOG2": {
"rule": "IF TimerUrlaub.state == on THEN label DEVICE ZeitUrlaubOG TO '21:45 bis 23:00~0:20' COLOR Green",
"active": 1
},
"SetLabelUrlaubOG3": {
"rule": "IF TimerUrlaub.state == on THEN label DEVICE ZeitOG TO 'Urlaub' COLOR Red",
"active": 1
},
"TimerEGDiDoFrAn1": {
"rule": "IF TimerUrlaub.state == off AND TimerEG.state == on AND Arbeitstag.state == on AND Currentdatetime.second == 0 AND Sunriseset.sunset * 100 < 1900 AND DATE_FORMAT(Currentdatetime, %H%M) == 1815 THEN switch DEVICE Alles TO on",
"active": 1
},
"TimerEGDiDoFrAn2": {
"rule": "IF TimerUrlaub.state == off AND TimerEG.state == on AND Arbeitstag.state == on AND Currentdatetime.second == 0 AND Sunriseset.sunset * 100 >= 1900 AND DATE_FORMAT( DATE_ADD(Currentdatetime, '+45 MINUTE'), '%Y-%m-%d %H:%M:%S', %H.%M) == Sunriseset.sunset THEN switch DEVICE Alles TO on",
"active": 1
},
"TimerEGDiDoFrAn3": {
"rule": "IF TimerUrlaub.state == off AND TimerEG.state == on AND Arbeitstag.state == on AND Currentdatetime.second == 0 AND Sunriseset.sunset * 100 < 1900 AND DATE_FORMAT(Currentdatetime, %H%M) == 1815 THEN switch DEVICE Diele TO on AFTER '1500 MILLISECOND'",
"active": 1
},
"TimerEGDiDoFrAn4": {
"rule": "IF TimerUrlaub.state == off AND TimerEG.state == on AND Arbeitstag.state == on AND Currentdatetime.second == 0 AND Sunriseset.sunset * 100 >= 1900 AND DATE_FORMAT( DATE_ADD(Currentdatetime, '+45 MINUTE'), '%Y-%m-%d %H:%M:%S', %H.%M) == Sunriseset.sunset THEN switch DEVICE Diele TO on AFTER '1500 MILLISECOND'",
"active": 1
},
"TimerEGMoMiWoAn1": {
"rule": "IF TimerUrlaub.state == off AND TimerEG.state == on AND Arbeitstag.state == off AND Currentdatetime.second == 0 AND DATE_FORMAT( DATE_ADD(Currentdatetime, '+45 MINUTE'), '%Y-%m-%d %H:%M:%S', %H.%M) == Sunriseset.sunset THEN switch DEVICE Alles TO on",
"active": 1
},
"TimerEGMoMiWoAn2": {
"rule": "IF TimerUrlaub.state == off AND TimerEG.state == on AND Arbeitstag.state == off AND Currentdatetime.second == 0 AND DATE_FORMAT( DATE_ADD(Currentdatetime, '+44 MINUTE'), '%Y-%m-%d %H:%M:%S', %H.%M) == Sunriseset.sunset THEN switch DEVICE Diele TO on",
"active": 1
},
"TimerUrlaubEGAn1": {
"rule": "IF TimerUrlaub.state == on AND Currentdatetime.second == 1 AND DATE_FORMAT( DATE_ADD(Currentdatetime, '+55 MINUTE'), '%Y-%m-%d %H:%M:%S', %H.%M) == Sunriseset.sunset THEN switch DEVICE Kueche TO on AFTER RANDOM(1,20) . ' MINUTE'",
"active": 1
},
"TimerUrlaubEGAn2": {
"rule": "IF TimerUrlaub.state == on AND Currentdatetime.second == 2 AND DATE_FORMAT( DATE_ADD(Currentdatetime, '+55 MINUTE'), '%Y-%m-%d %H:%M:%S', %H.%M) == Sunriseset.sunset THEN switch DEVICE Esszimmer TO on AFTER RANDOM(1,20) . ' MINUTE'",
"active": 1
},
"TimerUrlaubEGAn3": {
"rule": "IF TimerUrlaub.state == on AND Currentdatetime.second == 3 AND DATE_FORMAT( DATE_ADD(Currentdatetime, '+55 MINUTE'), '%Y-%m-%d %H:%M:%S', %H.%M) == Sunriseset.sunset THEN switch DEVICE Wohnzimmer TO on AFTER RANDOM(1,20) . ' MINUTE'",
"active": 1
},
"TimerUrlaubEGAn4": {
"rule": "IF TimerUrlaub.state == on AND Currentdatetime.second == 4 AND DATE_FORMAT( DATE_ADD(Currentdatetime, '+55 MINUTE'), '%Y-%m-%d %H:%M:%S', %H.%M) == Sunriseset.sunset THEN switch DEVICE Diele TO on AFTER RANDOM(1,20) . ' MINUTE'",
"active": 1
},
"TimerUrlaubEGAus1": {
"rule": "IF TimerUrlaub.state == on AND Currentdatetime.second == 1 AND DATE_FORMAT(Currentdatetime, %H%M) == 2150 THEN switch DEVICE Kueche TO off AFTER RANDOM(1,20) . ' MINUTE'",
"active": 1
},
"TimerUrlaubEGAus2": {
"rule": "IF TimerUrlaub.state == on AND Currentdatetime.second == 2 AND DATE_FORMAT(Currentdatetime, %H%M) == 2150 THEN switch DEVICE Esszimmer TO off AFTER RANDOM(1,20) . ' MINUTE'",
"active": 1
},
"TimerUrlaubEGAus3": {
"rule": "IF TimerUrlaub.state == on AND Currentdatetime.second == 3 AND DATE_FORMAT(Currentdatetime, %H%M) == 2150 THEN switch DEVICE Wohnzimmer TO off AFTER RANDOM(1,20) . ' MINUTE'",
"active": 1
},
"TimerUrlaubEGAus4": {
"rule": "IF TimerUrlaub.state == on AND Currentdatetime.second == 4 AND DATE_FORMAT(Currentdatetime, %H%M) == 2150 THEN switch DEVICE Diele TO off AFTER RANDOM(1,20) . ' MINUTE'",
"active": 1
},
"TimerOGAn": {
"rule": "IF TimerUrlaub.state == off AND TimerOG.state == on AND Currentdatetime.second == 0 AND DATE_FORMAT(Currentdatetime, %H.%M) == Sunriseset.sunset THEN switch DEVICE SteckdoseEckig2 TO on",
"active": 1
},
"TimerOGAus": {
"rule": "IF TimerUrlaub.state == off AND TimerOG.state == on AND Currentdatetime.second == 0 AND DATE_FORMAT(Currentdatetime, %H%M) == 2300 THEN switch DEVICE SteckdoseEckig2 TO off",
"active": 1
},
"TimerUrlaubOGAn": {
"rule": "IF TimerUrlaub.state == on AND Currentdatetime.second == 5 AND DATE_FORMAT(Currentdatetime, %H%M) == 2135 THEN switch DEVICE SteckdoseEckig2 TO on AFTER RANDOM(1,20) . ' MINUTE'",
"active": 1
},
"TimerUrlaubOGAus": {
"rule": "IF TimerUrlaub.state == on AND Currentdatetime.second == 5 AND DATE_FORMAT(Currentdatetime, %H%M) == 2250 THEN switch DEVICE SteckdoseEckig2 TO off AFTER RANDOM(1,20) . ' MINUTE'",
"active": 1
},
"TimerRolloZu1": {
"rule": "IF TimerRollos.state == on AND Currentdatetime.second == 0 AND DATE_FORMAT(Currentdatetime, %H%M) == 2200 THEN switch DEVICE RolloEsszimmer TO down",
"active": 1
},
"TimerRolloZu2": {
"rule": "IF TimerRollos.state == on AND Currentdatetime.second == 0 AND DATE_FORMAT(Currentdatetime, %H%M) == 2200 THEN switch DEVICE RolloKlavier TO down AFTER '1000 MILLISECOND'",
"active": 1
},
"TimerRolloZu3": {
"rule": "IF TimerRollos.state == on AND Currentdatetime.second == 0 AND DATE_FORMAT(Currentdatetime, %H%M) == 2200 THEN switch DEVICE RolloCouch TO down AFTER '2000 MILLISECOND'",
"active": 1
},
"TimerRolloZu4": {
"rule": "IF TimerRollos.state == on AND Currentdatetime.second == 0 AND DATE_FORMAT(Currentdatetime, %H%M) == 2200 THEN switch DEVICE RolloHof TO down AFTER '3000 MILLISECOND'",
"active": 1
},
"TimerRolloAuf1": {
"rule": "IF TimerRollos.state == on AND Currentdatetime.second == 0 AND DATE_FORMAT(Currentdatetime, %H%M) == 700 THEN switch DEVICE RolloEsszimmer TO up",
"active": 1
},
"TimerRolloAuf2": {
"rule": "IF TimerRollos.state == on AND Currentdatetime.second == 0 AND DATE_FORMAT(Currentdatetime, %H%M) == 700 THEN switch DEVICE RolloKlavier TO up AFTER '1000 MILLISECOND'",
"active": 1
},
"TimerRolloAuf3": {
"rule": "IF TimerRollos.state == on AND Currentdatetime.second == 0 AND DATE_FORMAT(Currentdatetime, %H%M) == 700 THEN switch DEVICE RolloCouch TO up AFTER '2000 MILLISECOND'",
"active": 1
},
"TimerRolloAuf4": {
"rule": "IF TimerRollos.state == on AND Currentdatetime.second == 0 AND DATE_FORMAT(Currentdatetime, %H%M) == 700 THEN switch DEVICE RolloHof TO up AFTER '3000 MILLISECOND'",
"active": 1
},
"DieleAn1": {
"rule": "IF Diele.state == on THEN switch DEVICE SteckdoseRund1 TO on",
"active": 1
},
"DieleAn2": {
"rule": "IF Diele.state == on THEN switch DEVICE SteckdoseRund2 TO on AFTER '500 MILLISECOND'",
"active": 1
},
"DieleAus1": {
"rule": "IF Diele.state == off THEN switch DEVICE SteckdoseRund1 TO off",
"active": 1
},
"DieleAus2": {
"rule": "IF Diele.state == off THEN switch DEVICE SteckdoseRund2 TO off AFTER '500 MILLISECOND'",
"active": 1
},
"AllesAn1": {
"rule": "IF Alles.state == on THEN switch DEVICE Kueche TO on",
"active": 1
},
"AllesAn2": {
"rule": "IF Alles.state == on THEN switch DEVICE Esszimmer TO on AFTER '500 MILLISECOND'",
"active": 1
},
"AllesAn3": {
"rule": "IF Alles.state == on THEN switch DEVICE Wohnzimmer TO on AFTER '1000 MILLISECOND'",
"active": 1
},
"AllesAus1": {
"rule": "IF Alles.state == off THEN switch DEVICE Kueche TO off",
"active": 1
},
"AllesAus2": {
"rule": "IF Alles.state == off THEN switch DEVICE Esszimmer TO off AFTER '500 MILLISECOND'",
"active": 1
},
"AllesAus3": {
"rule": "IF Alles.state == off THEN switch DEVICE Wohnzimmer TO off AFTER '1000 MILLISECOND'",
"active": 1
},
"RolloAllesZu1": {
"rule": "IF RolloAlles.state == down THEN switch DEVICE RolloEsszimmer TO down",
"active": 1
},
"RolloAllesZu2": {
"rule": "IF RolloAlles.state == down THEN switch DEVICE RolloKlavier TO down AFTER '1000 MILLISECOND'",
"active": 1
},
"RolloAllesZu3": {
"rule": "IF RolloAlles.state == down THEN switch DEVICE RolloCouch TO down AFTER '2000 MILLISECOND'",
"active": 1
},
"RolloAllesZu4": {
"rule": "IF RolloAlles.state == down THEN switch DEVICE RolloHof TO down AFTER '3000 MILLISECOND'",
"active": 1
},
"RolloAllesAuf1": {
"rule": "IF RolloAlles.state == up THEN switch DEVICE RolloEsszimmer TO up",
"active": 1
},
"RolloAllesAuf2": {
"rule": "IF RolloAlles.state == up THEN switch DEVICE RolloKlavier TO up AFTER '1000 MILLISECOND'",
"active": 1
},
"RolloAllesAuf3": {
"rule": "IF RolloAlles.state == up THEN switch DEVICE RolloCouch TO up AFTER '2000 MILLISECOND'",
"active": 1
},
"RolloAllesAuf4": {
"rule": "IF RolloAlles.state == up THEN switch DEVICE RolloHof TO up AFTER '3000 MILLISECOND'",
"active": 1
}
},
"gui": {
"Alles": {
"name": "Alles",
"group": [ "Licht" ],
"media": [ "all" ],
"readonly": 0
},
"Wohnzimmer": {
"name": "Wohnzimmer",
"group": [ "Licht" ],
"media": [ "all" ],
"readonly": 0
},
"Esszimmer": {
"name": "Esszimmer",
"group": [ "Licht" ],
"media": [ "all" ],
"readonly": 0
},
"Kueche": {
"name": "Küche",
"group": [ "Licht" ],
"media": [ "all" ],
"readonly": 0
},
"Diele": {
"name": "Diele",
"group": [ "Licht" ],
"media": [ "all" ],
"readonly": 0
},
"SteckdoseEckig1": {
"name": "Astrid",
"group": [ "Licht" ],
"media": [ "all" ],
"readonly": 0
},
"SteckdoseEckig2": {
"name": "Schlafzimmer",
"group": [ "Licht" ],
"media": [ "all" ],
"readonly": 0
},
"RolloAlles": {
"name": "Alles",
"group": [ "Rollos" ],
"media": [ "all" ],
"readonly": 0
},
"RolloEsszimmer": {
"name": "Esszimmer",
"group": [ "Rollos" ],
"media": [ "all" ],
"readonly": 0
},
"RolloKlavier": {
"name": "Klavier",
"group": [ "Rollos" ],
"media": [ "all" ]
},
"RolloCouch": {
"name": "Couch",
"group": [ "Rollos" ],
"media": [ "all" ]
},
"RolloHof": {
"name": "Hof",
"group": [ "Rollos" ],
"media": [ "all" ]
},
"Weihnachtsbaum": {
"name": "Weihnachtsbaum",
"group": [ "Steckdose" ],
"media": [ "all" ],
"readonly": 0
},
"SteckdoseRund3": {
"name": "Rund 3",
"group": [ "Steckdose" ],
"media": [ "all" ],
"readonly": 0
},
"SteckdoseEckig3": {
"name": "Eckig 3",
"group": [ "Steckdose" ],
"media": [ "all" ],
"readonly": 0
},
"Sunriseset": {
"name": "Sonnenauf/untergang",
"group": [ "Modus" ],
"media": [ "all" ]
},
"TimerEG": {
"name": "Timer EG",
"group": [ "Modus" ],
"media": [ "all" ],
"readonly": 0
},
"ZeitEGDiDoFr": {
"name": "Zeit EG Di,Do,Fr",
"group": [ "Modus" ],
"media": [ "all" ]
},
"ZeitEGMoMiWo": {
"name": "Zeit EG Mo,Mi,Wo",
"group": [ "Modus" ],
"media": [ "all" ]
},
"TimerOG": {
"name": "Timer OG",
"group": [ "Modus" ],
"media": [ "all" ],
"readonly": 0
},
"ZeitOG": {
"name": "Zeit OG",
"group": [ "Modus" ],
"media": [ "all" ]
},
"TimerRollos": {
"name": "Timer Rollos",
"group": [ "Modus" ],
"media": [ "all" ],
"readonly": 0
},
"ZeitRollos": {
"name": "Zeit Rollos",
"group": [ "Modus" ],
"media": [ "all" ]
},
"TimerUrlaub": {
"name": "Timer Urlaub",
"group": [ "Modus" ],
"media": [ "all" ],
"readonly": 0
},
"ZeitUrlaubEG": {
"name": "Zeit EG",
"group": [ "Modus" ],
"media": [ "all" ]
},
"ZeitUrlaubOG": {
"name": "Zeit OG",
"group": [ "Modus" ],
"media": [ "all" ]
},
"ZeitEGArbeit": {
"name": "ZeitEGArbeit",
"group": [ "Modus" ],
"media": [ "all" ]
},
"Arbeitstag": {
"name": "Arbeitstag",
"group": [ "Modus" ],
"media": [ "all" ]
},
"Version": {
"name": "Version",
"group": [ "Modus" ],
"media": [ "all" ]
},
"webcam": {
"name": "Tor",
"group": [ "Webcam" ],
"media": [ "all" ]
}
},
"settings": {
"log-level": 6,
"pid-file": "/var/run/pilight.pid",
"log-file": "/var/log/pilight.log",
"webserver-enable": 1,
"webserver-root": "/usr/local/share/pilight/webgui",
"webserver-http-port": 5001,
"webserver-https-port": 5002,
"webserver-cache": 1,
"gpio-platform": "raspberrypi3"
},
"hardware": {
"433gpio": {
"sender": 0,
"receiver": 1
}
},
"registry": {
"webserver": {
"ssl": {
"certificate": {
"secure": 0,
"location": "/etc/pilight/pilight.pem"
}
}
},
"webgui": {
"tabs": 1
},
"pilight": {
"version": {
"current": "8.1.1"
}
}
}
}
And thanks for providing us with that great product, curlymo !!
Uli