Cum se creează un fișier de configurare pentru un accesoriu homebridge (Programare, Json, Config, Homekit)

Herresta a intrebat.
a intrebat.

Am instalat un accesoriu pentru a-mi controla televizorul Samsung (https://github.com/xeenon/homebridge-samsung-tv) prin intermediul serverului meu Homebridge, însă dezvoltatorul nu a furnizat un config-sample.json, motiv pentru care încerc să-mi creez unul propriu. Sunt complet nou în domeniul codării, așa că vă rog să-mi spuneți ce greșesc.

Aceasta este partea din fișierul meu de configurare pentru acel accesoriu de acum (voi adăuga adresa ip și adresa mac mai târziu).

{
"bridge": {
    "name": "Homebridge",
    "username": "",
    "port": 4318,
    "pin": "031-45-154"
},
"accessories": [{
    "accessory": "samsungTv",
    "name": "samsungTvAccessory",
    "ip_address": "",
    "macAddress": "",
    "polling": "true",
    "pollingInterval": "1"
}]
}

Când încerc să pornesc Homebridge, primesc eroarea următoare

TypeError: Cannot read property 'forEach' of undefined
at new SamsungTvAccessory (usr/local/lib/node_modules/homebridge-samsung-tv-controller/index.js:76:10

Dacă schimb totuși fișierul de configurare în

{
"bridge": {
    "name": "Homebridge",
    "username": "",
    "port": 4318,
    "pin": "031-45-154"
},
"accessories": [{
    "accessory": "samsungTv",
    "name": "samsungTvAccessory",
    "ip_address": "",
    "macAddress": "",
    "polling": "true",
    "pollingInterval": "1",
    "enabledInputs": "true"
}]
}

unde am adăugat

"enabledInputs": "true"

primesc eroarea

TypeError: config.enabledInputs.forEach is not a function
at new SamsungTvAccessory (usr/local/lib/node_modules/homebridge-samsung-tv-controller/index.js:76:10

Aș aprecia foarte mult orice ajutor!

1 răspunsuri
Tom

Ați încercat cu JSON valid ? Ar spune că îți lipsesc parantezele din jur, de asemenea din primele linii ale sursei se pare că. Ar trebui să funcționeze astfel

objectVar = {
    "accessory": "samsungTv",
    "name": "samsungTvAccessory",
    "ip_adress": "",
    "macAddress": "",
    "polling": "true",
    "pollingInterval": "1"
}

Sau așa, în cazul în care folosești un șir de caractere undeva: „{
accessory
:
samsungTv
,
name
:
samsungTvAccessory
,
ip_adress
:

,
macAddress
:

,
polling
:
true
,
pollingInterval
:
1
}”

Și apoi există metode JSON.stringify(objectVar [, null, indent]) sau JSON.parse(string) pentru a converti în șir de caractere sau invers. Stringify are, de asemenea, parametri opționali – primul este o funcție de înlocuire, iar al doilea este indentarea, dacă se dorește o formatare prietenoasă pentru oameni.