empierre / MyDomoAtHome

MyDomoAtHome - REST interface for ImperoHome with Domoticz (ISS)
http://domoticz.com/wiki/ImperiHome
GNU General Public License v3.0
32 stars 22 forks source link

Application stops after Unexpected end of input #156

Closed mcwieger closed 6 years ago

mcwieger commented 6 years ago

I'm running the latest version on Synology. After startup I switched on one device using Imperihome. It worked. After that, I switched it off again. No result and MDAH stopped. This is the log:

warn: basic configuration not found in /etc/mydomoathome/config.json, defaulting
warn: domoticz access configuration not found in /etc/mydomoathome/config.json, defaulting
info: Domoticz server: http://127.0.0.1:8084/json.htm
info: Node version: 4.8.4
info: MDAH version: MyDomoAtHome 0.2.32
info: OS version: Linux linux 3.2.40
info: Hostname: NAS 192.168.2.201 in /root /root
info: Refreshing version cache: v0.2.32
undefined:2226

 SyntaxError: Unexpected end of input
    at Object.parse (native)
    at Request._callback (/volume1/@appstore/MyDomoAtHome/app/mdah.js:2358:29)
    at Request.self.callback (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:200:22)
    at emitTwo (events.js:87:13)
    at Request.emit (events.js:172:7)
    at Request.<anonymous> (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:1067:10)
    at emitOne (events.js:82:20)
    at Request.emit (events.js:169:7)
    at IncomingMessage.<anonymous> (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:988:12)
    at emitNone (events.js:72:20)
empierre commented 6 years ago

Hello,

Impossible to access the log.

can you gove me the

http://domoticz_ip:8080/json.htm?type=devices&filter=all&used=true&order=Name

when having the issue ?

mcwieger commented 6 years ago

I updated the initial post. Had a copy/paste issue.

empierre commented 6 years ago

oui je te confirme c'est un soucis dans le fichier fourni par domoticz, j'ai besoin de:

http://domoticz_ip:8080/json.htm?type=devices&filter=all&used=true&order=Name

mcwieger commented 6 years ago

Speaking French won't make it easier for me, mais bien sûr: voilà!

MDAH Domoticz devices.txt

333fps commented 6 years ago

I've exactly the same problem, even on a fresh install (Synology NAS).

mcwieger commented 6 years ago

MDAH was up for 2 days of (intensive) use (due to some testing), but now it's down again, same error message...

mcwieger commented 6 years ago

Update to 0.2.34 has not resolved the issue...

empierre commented 6 years ago

Hello,

tried your dile but cannot reproduce, did you trigger something for it to happen ?

empierre commented 6 years ago

BTW you need from 4 version back to login by ssh, and create the configuration file, see on github wiki section: config.json /etc/mydomoathome/config.json

mcwieger commented 6 years ago

Wrt your last comment: I created config.json in /volume1/@appstore/MyDomoAtHome/ (I don't have /etc/MyDomoAtHome/, running on Synology), but it still doesn't get recognized. Is it in the right place?

empierre commented 6 years ago

Hello,

You have to log in through SSH as admin, and place it under /etc/mydomoathome

On Fri, Dec 1, 2017 at 11:29 AM, mcwieger notifications@github.com wrote:

Wrt your last comment: I created config.json in /volume1// (I don't have /etc/MyDomoAtHome/, running on Synology), but it still doesn't get recognized. Is it in the right place?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/empierre/MyDomoAtHome/issues/156#issuecomment-348459528, or mute the thread https://github.com/notifications/unsubscribe-auth/AG8xiqpPP17dsnRqnz_AgBb3BgM3Wy2iks5s79TygaJpZM4QnQYr .

mcwieger commented 6 years ago

Ok, so that's a non-existing directory, I'd have to create that? Completely outside the mydomoathome directory.

empierre commented 6 years ago

yes, this is the only way I found to circumvent the special directory structure

On Fri, Dec 1, 2017 at 11:43 AM, mcwieger notifications@github.com wrote:

Ok, so that's a non-existing directory, I'd have to create that? Completely outside the mydomoathome directory.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/empierre/MyDomoAtHome/issues/156#issuecomment-348462663, or mute the thread https://github.com/notifications/unsubscribe-auth/AG8xij2m-nKPBsXKz8rbucOMi6ZMunVnks5s79g4gaJpZM4QnQYr .

mcwieger commented 6 years ago

I've create the config file and it has been up for 3 days now (normal use). So I think I'll close this issue, will re-open if it happens again.

mcwieger commented 6 years ago

There was one widget in IH left referring to my SolarEdge inverter. It resulted in this:

info: http://127.0.0.1:8084/json.htm?type=graph&sensor=counter&method=1&idx=53&range=day
info: KK v day=v_min v_max
undefined:2203

SyntaxError: Unexpected end of input
    at Object.parse (native)
    at Request._callback (/volume1/@appstore/MyDomoAtHome/app/mdah.js:2358:29)
    at Request.self.callback (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:200:22)
    at emitTwo (events.js:87:13)
    at Request.emit (events.js:172:7)
    at Request.<anonymous> (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:1067:10)
    at emitOne (events.js:82:20)
    at Request.emit (events.js:169:7)
    at IncomingMessage.<anonymous> (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:988:12)
    at emitNone (events.js:72:20)

I removed the widget and will let you know if it stays stable.

I think we have the cause (ID 47 = P1 Smart Meter, ID 53 = SolarEdge inverter). Both giving meter values instead of just on/off values. But somehow, output of the files is not always stable. If you can prevent MDAH from stopping in those cases and ignore instead, at least stability is increased.

mcwieger commented 6 years ago

Updated to 0.2.35, resulting in this:

info: Domoticz server: http://127.0.0.1:8084/json.htm
info: Node version: 4.8.4
info: MDAH version: MyDomoAtHome 0.2.35
info: OS version: Linux linux 3.2.40
info: Hostname: NAS 192.168.2.201 in /root /root
info: Refreshing version cache: v0.2.35
undefined:2210

SyntaxError: Unexpected end of input
    at Object.parse (native)
    at Request._callback (/volume1/@appstore/MyDomoAtHome/app/mdah.js:2359:29)
    at Request.self.callback (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:200:22)
    at emitTwo (events.js:87:13)
    at Request.emit (events.js:172:7)
    at Request.<anonymous> (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:1067:10)
    at emitOne (events.js:82:20)
    at Request.emit (events.js:169:7)
    at IncomingMessage.<anonymous> (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:988:12)
    at emitNone (events.js:72:20)
    at IncomingMessage.emit (events.js:166:7)
mcwieger commented 6 years ago

Another unexpected end of input:

info: Refreshing version cache: v0.2.35
undefined:2209
         "HaveDimmer"

SyntaxError: Unexpected end of input
    at Object.parse (native)
    at Request._callback (/volume1/@appstore/MyDomoAtHome/app/mdah.js:2359:29)
    at Request.self.callback (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:200:22)
    at emitTwo (events.js:87:13)
    at Request.emit (events.js:172:7)
    at Request.<anonymous> (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:1067:10)
    at emitOne (events.js:82:20)
    at Request.emit (events.js:169:7)
    at IncomingMessage.<anonymous> (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:988:12)
    at emitNone (events.js:72:20)

It's shutting down every day now, so not really usable. I have Alexa as a backup, but would like to keep using MDAH/Imperihome as well :-)

empierre commented 6 years ago

Hello,

I need your json.htm result from domoticz when this happen because it is weird you have many things going wrong, and only you...

On Wed, Dec 13, 2017 at 9:44 AM, mcwieger notifications@github.com wrote:

Another unexpected end of input:

info: Refreshing version cache: v0.2.35 undefined:2209 "HaveDimmer"

SyntaxError: Unexpected end of input at Object.parse (native) at Request._callback (/volume1/@appstore/MyDomoAtHome/app/mdah.js:2359:29) at Request.self.callback (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:200:22) at emitTwo (events.js:87:13) at Request.emit (events.js:172:7) at Request. (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:1067:10) at emitOne (events.js:82:20) at Request.emit (events.js:169:7) at IncomingMessage. (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:988:12) at emitNone (events.js:72:20)

It's shutting down every day now, so not really usable. I have Alexa as a backup, but would like to keep using MDAH/Imperihome as well :-)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/empierre/MyDomoAtHome/issues/156#issuecomment-351322829, or mute the thread https://github.com/notifications/unsubscribe-auth/AG8xily7v16NtULaCcxnt_bviDZ5S_I7ks5s_459gaJpZM4QnQYr .

mcwieger commented 6 years ago

Where can I find this? Did a search on SFTP, but can't find it. MDAH just stopped...

empierre commented 6 years ago

This is from domoticz:

http://domoticz_ip:8084/json.htm?type=devices&filter=all&used=true&order=Name

https://github.com/empierre/MyDomoAtHome#support

On Wed, Dec 13, 2017 at 3:19 PM, mcwieger notifications@github.com wrote:

Where can I find this? Did a search on SFTP, but can't find it. MDAH just stopped...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/empierre/MyDomoAtHome/issues/156#issuecomment-351404264, or mute the thread https://github.com/notifications/unsubscribe-auth/AG8xirpxUiZXQupCWeIv2P0KAZ9u914xks5s_9zqgaJpZM4QnQYr .

mcwieger commented 6 years ago

This is the output. json.htm.txt

And the latest error message:

undefined:2208
         "Hardw
          ^

SyntaxError: Unexpected token H
    at Object.parse (native)
    at Request._callback (/volume1/@appstore/MyDomoAtHome/app/mdah.js:2359:29)
    at Request.self.callback (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:200:22)
    at emitTwo (events.js:87:13)
    at Request.emit (events.js:172:7)
    at Request.<anonymous> (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:1067:10)
    at emitOne (events.js:82:20)
    at Request.emit (events.js:169:7)
    at IncomingMessage.<anonymous> (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:988:12)
    at emitNone (events.js:72:20)
empierre commented 6 years ago

something is definetly wrong, can you deinstall nodejs and reinstall it ? same for domoticz ? (do a database backup before).

Your file is correct even on the above line 2208, you have random errors, either software or hardware related.

On Wed, Dec 13, 2017 at 3:31 PM, mcwieger notifications@github.com wrote:

This is the output. json.htm.txt https://github.com/empierre/MyDomoAtHome/files/1555801/json.htm.txt

And the latest error message:

undefined:2208 "Hardw ^

SyntaxError: Unexpected token H at Object.parse (native) at Request._callback (/volume1/@appstore/MyDomoAtHome/app/mdah.js:2359:29) at Request.self.callback (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:200:22) at emitTwo (events.js:87:13) at Request.emit (events.js:172:7) at Request. (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:1067:10) at emitOne (events.js:82:20) at Request.emit (events.js:169:7) at IncomingMessage. (/volume1/@appstore/MyDomoAtHome/app/node_modules/request/request.js:988:12) at emitNone (events.js:72:20)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/empierre/MyDomoAtHome/issues/156#issuecomment-351407705, or mute the thread https://github.com/notifications/unsubscribe-auth/AG8xirZpq7-Pkfuc05zvgUnYhpM528Szks5s_9_SgaJpZM4QnQYr .

mcwieger commented 6 years ago

Okay, I uninstalled node.js (+ dependencies, including MDAH). I'm somewhat reluctant to uninstall Domoticz, you never know if a restore will succeed, so I upgraded to latest beta instead.

Fingers crossed...

empierre commented 6 years ago

domoticz is fully into domoticz.db, for some advanced debug people send me their file, but here I think it is not the case.

On Wed, Dec 13, 2017 at 5:06 PM, mcwieger notifications@github.com wrote:

Okay, I uninstalled node.js (+ dependencies, including MDAH). I'm somewhat reluctant to uninstall Domoticz, you never know if a restore will succeed, so I upgraded to latest beta instead.

Fingers crossed...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/empierre/MyDomoAtHome/issues/156#issuecomment-351437172, or mute the thread https://github.com/notifications/unsubscribe-auth/AG8xinzFen_6g4Gx7myQAcKqDZdcH-U6ks5s__XpgaJpZM4QnQYr .

mcwieger commented 6 years ago

Well, no luck...it's out again. I happened to notice a file in the var directory called mydomoathome.pid. It's there when MDAH is running, but disappears when it stops. The ID in the file changes after re-start. Is this normal behaviour?

mcwieger commented 6 years ago

Hi Emmanuel, one more thought, before re-installing Domoticz completely: would it be possible to identify which device may be causing this issue? Latest errors were all undefined:2209. Does that give any clue which device is causing it?

I'm afraid backing up and restoring the database will only cause in giving the same error, as the hardware and devices won't change. And by installing the latest beta, the Domoticz app has already changed...

mcwieger commented 6 years ago

I'm trying to isolate the issue and have tried pretty much everything: removed ID's from the device list that had been assigned twice (don't know how), removed domoticz_main, removed all lua scripts, disabled hardware, disabled Amazon Echo integration. All without results.

Could you help me with two things:

  1. What does MDAH receive from Domoticz, i.e. where could I find a possible issue? Does it only receive the info in json.htm?
  2. What do the numbers in the error message mean? Do they refer to device ID's or line of code in MDAH?
mcwieger commented 6 years ago

Resolved in version 0.2.36.