werthdavid / homebridge-website-to-camera Goto Github PK
View Code? Open in Web Editor NEWHomebridge plugin that displays a Website as virtual camera (intended for Google Maps Traffic)
License: MIT License
Homebridge plugin that displays a Website as virtual camera (intended for Google Maps Traffic)
License: MIT License
I wanted to get a route on Google maps. Now Google will inform you that cookies are being used and I will ask you to confirm. Does anyone have any idea how I can get this confirmation away so that I can display my picture?
Hi, I installed you plugin but after configuration an error in homebridge status page is shown:
[9/15/2020, 7:47:24 PM] [website-camera] Starting new instance of Chromium: /usr/bin/chromium-browser
[9/15/2020, 7:47:24 PM] [website-camera] Error: Failed to launch the browser process!
cannot read mount namespace identifier of pid 1: Permission denied
TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md
at onClose (/usr/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Launcher.js:615:20)
at Interface.<anonymous> (/usr/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Launcher.js:605:56)
at Interface.emit (events.js:327:22)
at Interface.close (readline.js:416:8)
at Socket.onend (readline.js:194:10)
at Socket.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1220:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
I use Ubuntu Linux distribution and "Lubuntu" interface, this is my config in homebridge:
{
"platform": "website-camera",
"cameras": [
{
"name": "Test",
"url": "https://github.com",
"height": 400,
"width": 400,
"chromiumPath": "/usr/bin/chromium-browser"
}
]
}
can you heal me to understand how solve the situation?
Thanks in advance
Best regards
Giacomo
Hi,
first of all thank you for that nice plugin! since the update, i got the callback function error and the HB reboots new every time.
[website-camera] Loading finished, waiting 2000ms before taking screenshot
Apr 29 14:08:32 raspberrypi homebridge[28173]: [4/29/2020, 14:08:32] [website-camera] Created screenshot
Apr 29 14:08:32 raspberrypi homebridge[28173]: [4/29/2020, 14:08:32] [website-camera] Got screenshot
Apr 29 14:08:32 raspberrypi homebridge[28173]: [4/29/2020, 14:08:32] [website-camera] identify
Apr 29 14:08:32 raspberrypi homebridge[28173]: [4/29/2020, 14:08:32] TypeError: callback is not a function
Apr 29 14:08:32 raspberrypi homebridge[28173]: at CameraAccessory. (/usr/local/lib/node_modules/homebridge-website-to-camera/CameraAccessory.js:28:13)
Apr 29 14:08:32 raspberrypi homebridge[28173]: at CameraAccessory.emit (events.js:223:5)
Apr 29 14:08:32 raspberrypi homebridge[28173]: at Accessory. (/usr/local/lib/node_modules/homebridge/src/platformAccessory.ts:85:12)
Apr 29 14:08:32 raspberrypi homebridge[28173]: at Accessory.emit (events.js:223:5)
Apr 29 14:08:32 raspberrypi homebridge[28173]: at Accessory.EventEmitter.emit (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/EventEmitter.ts:42:22)
Apr 29 14:08:32 raspberrypi homebridge[28173]: at Accessory._this._identificationRequest (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:259:12)
Apr 29 14:08:32 raspberrypi homebridge[28173]: at Identify. (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:248:16)
Apr 29 14:08:32 raspberrypi homebridge[28173]: at Identify.emit (events.js:223:5)
Apr 29 14:08:32 raspberrypi homebridge[28173]: at Identify.EventEmitter.emit (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/EventEmitter.ts:42:22)
Apr 29 14:08:32 raspberrypi homebridge[28173]: at Identify.Characteristic._this.setValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:614:12)
Could you help out?
Phil
I would like to use your plugin in my homebridge environment since it delivers exactly what I have been looking for for a long time.
Unfortunately, I run homebridge in a docker container which seems to make it a bit more complicated.
I already read a lot and added
apt-get update
apt-get install -y chromium-browser
to startup.sh
chromium-browser obviously got installed.
When I start the camera feed in homekit, I get this error in the homebridge log:
`
2023-04-25T22:17:43.743945808Z | stdout | at processTicksAndRejections (node:internal/process/task_queues:82:21) |
---|---|---|
2023-04-25T22:17:43.743924898Z | stdout | at endReadableNT (node:internal/streams/readable:1359:12) |
2023-04-25T22:17:43.743906757Z | stdout | at Socket.emit (node:events:525:35) |
2023-04-25T22:17:43.743883987Z | stdout | at Socket.onend (node:internal/readline/interface:259:10) |
2023-04-25T22:17:43.743852127Z | stdout | at Interface.close (node:internal/readline/interface:533:10) |
2023-04-25T22:17:43.743830957Z | stdout | at Interface.emit (node:events:525:35) |
2023-04-25T22:17:43.743800986Z | stdout | at Interface. (/homebridge/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/src/node/BrowserRunner.ts:254:50) |
2023-04-25T22:17:43.743769836Z | stdout | at onClose (/homebridge/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/src/node/BrowserRunner.ts:268:9) |
2023-04-25T22:17:43.743754006Z | stdout | |
2023-04-25T22:17:43.743724065Z | stdout | TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md |
2023-04-25T22:17:43.743706345Z | stdout | |
2023-04-25T22:17:43.743691525Z | stdout | |
2023-04-25T22:17:43.743676515Z | stdout | |
2023-04-25T22:17:43.743654655Z | stdout | snap install chromium |
2023-04-25T22:17:43.743633754Z | stdout | |
2023-04-25T22:17:43.743610494Z | stdout | Please install it with: |
2023-04-25T22:17:43.743578234Z | stdout | Command '/usr/bin/chromium-browser' requires the chromium snap to be installed. |
2023-04-25T22:17:43.743547524Z | stdout | |
2023-04-25T22:17:43.743430252Z | stdout | �[37m[4/26/2023, 12:17:43 AM] �[39m�[36m[website-camera]�[39m Error: Failed to launch the browser process! |
2023-04-25T22:17:43.736142063Z | stdout | �[37m[4/26/2023, 12:17:43 AM] �[39m�[36m[website-camera]�[39m Starting new instance of Chromium: /usr/bin/chromium-browser |
2023-04-25T22:17:41.527698583Z | stdout | at processTicksAndRejections (node:internal/process/task_queues:82:21) |
2023-04-25T22:17:41.527676613Z | stdout | at endReadableNT (node:internal/streams/readable:1359:12) |
2023-04-25T22:17:41.527655382Z | stdout | at Socket.emit (node:events:525:35) |
2023-04-25T22:17:41.527629062Z | stdout | at Socket.onend (node:internal/readline/interface:259:10) |
2023-04-25T22:17:41.527594372Z | stdout | at Interface.close (node:internal/readline/interface:533:10) |
2023-04-25T22:17:41.527515511Z | stdout | at Interface.emit (node:events:525:35) |
2023-04-25T22:17:41.527483640Z | stdout | at Interface. (/homebridge/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/src/node/BrowserRunner.ts:254:50) |
2023-04-25T22:17:41.527452460Z | stdout | at onClose (/homebridge/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/src/node/BrowserRunner.ts:268:9) |
2023-04-25T22:17:41.527432590Z | stdout | |
2023-04-25T22:17:41.527402010Z | stdout | TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md |
2023-04-25T22:17:41.527383759Z | stdout | |
2023-04-25T22:17:41.527366879Z | stdout | |
2023-04-25T22:17:41.527347799Z | stdout | |
2023-04-25T22:17:41.527324089Z | stdout | snap install chromium |
2023-04-25T22:17:41.527306079Z | stdout | |
2023-04-25T22:17:41.527275728Z | stdout | Please install it with: |
2023-04-25T22:17:41.527240918Z | stdout | Command '/usr/bin/chromium-browser' requires the chromium snap to be installed. |
2023-04-25T22:17:41.527212967Z | stdout | |
2023-04-25T22:17:41.527090886Z | stdout | �[37m[4/26/2023, 12:17:41 AM] �[39m�[36m[website-camera]�[39m Error: Failed to launch the browser process! |
2023-04-25T22:17:41.493219878Z | stdout | �[37m[4/26/2023, 12:17:41 AM] �[39m�[36m[website-camera]�[39m Starting new instance of Chromium: /usr/bin/chromium-browser |
Any ideas how I can get chromium installed correctly? I tried putting "snap install chromium" in shartup.sh, that didn't work.
on debian stretch:
[code]Unexpected platform or architecture: linux/arm
It seems there is no binary available for your platform/architecture
Try to install PhantomJS globally
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-07-02T08_39_43_685Z-debug.log
[/code]
I've tried several ways of installing PhantomJS, but it keeps on returning the same error.
Any ideas here?
big thx for this new version.
unfortunately it’s missing hap-nodes as a separate installed npm module (additional to the one coming with Homebridge) - which should not be necessary.
[5.12.2021, 22:23:51] [Config-Website-Camera] Initializing config platform...
[5.12.2021, 22:23:51] [Config-Website-Camera] Running in Service Mode
[5.12.2021, 22:23:51] [website-camera] Initializing website-camera platform...
[5.12.2021, 22:23:51] Error: Cannot find module 'hap-nodejs'
Require stack:
- /usr/local/lib/node_modules/homebridge-website-to-camera/CameraAccessory.js
- /usr/local/lib/node_modules/homebridge-website-to-camera/index.js
- /usr/local/lib/node_modules/homebridge/lib/plugin.js
- /usr/local/lib/node_modules/homebridge/lib/pluginManager.js
- /usr/local/lib/node_modules/homebridge/lib/server.js
- /usr/local/lib/node_modules/homebridge/lib/cli.js
- /usr/local/lib/node_modules/homebridge/bin/homebridge
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-website-to-camera/CameraAccessory.js:5:47)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
[5.12.2021, 22:23:51] Got SIGTERM, shutting down Homebridge...
After adding the additional hap-nodejs it will work again.
I will try the new live feature next weekend. Can I just use existing cameras or do I have to readd them?
Hi,
your sample config says website-to-camera instead of website-camera
It appears that it's no longer possible if you're running Homebridge on a Raspberry Pi.
RPi-Distro/repo#58
Full output from my log:
[2018-11-4 01:12:47] [website-camera] Starting new instance of Chromium: /usr/bin/chromium-browser
[2018-11-4 01:12:48] [website-camera] Error: Failed to launch chrome!
bootstrap_helper: /usr/lib/chromium-browser/nacl_helper: Cannot open ELF file! errno=2
[1029:1029:1104/011248.701576:ERROR:nacl_fork_delegate_linux.cc(315)] Bad NaCl helper startup ack (0 bytes)
[1017:1017:1104/011248.705690:ERROR:browser_main_loop.cc(495)] Failed to put Xlib into threaded mode.
[1017:1017:1104/011248.721406:ERROR:browser_main_loop.cc(272)] Gtk: cannot open display:
TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md
at onClose (/usr/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer/lib/Launcher.js:342:14)
at Interface.helper.addEventListener (/usr/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer/lib/Launcher.js:331:50)
at emitNone (events.js:111:20)
at Interface.emit (events.js:208:7)
at Interface.close (readline.js:368:8)
at Socket.onend (readline.js:147:10)
at emitNone (events.js:111:20)
at Socket.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:139:11)
at process._tickCallback (internal/process/next_tick.js:181:9)
The motion functionality would be awesome. This is also integrated in some other homebridge camera plugins and this way someone could open the camera on the apple tv automatically.
A way to do this would be to http request a "start" and a "stop" url/rest api, depending on the topic which is shown on that website you could show the camera if someone rang the bell, weather warnings, on specific times, on alarms/timers…
Hello,
The Chromium-Browser does not work anymore on Debian Bullseye (probably due to BlueAlsa no longer being part of the Bullseye installation - BlueAlsa cannot be installed separately either).
The only way on Bullseye is to use Chromium instead of Chromium-Browser. Is it possible to have an update using Chromium instead of Chromium-Browser?
Thank you.
Is there a way to increase the resolution of the screenshot?
ReferenceError: Categories is not defined
at new CameraAccessory (/usr/local/lib/node_modules/homebridge-website-to-camera/CameraAccessory.js:38:31)
at /usr/local/lib/node_modules/homebridge-website-to-camera/index.js:27:67
at Array.map ()
at Platform.didFinishLaunching (/usr/local/lib/node_modules/homebridge-website-to-camera/index.js:27:55)
at HomebridgeAPI.emit (node:events:402:35)
at HomebridgeAPI.signalFinished (/usr/local/lib/node_modules/homebridge/src/api.ts:275:10)
at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:173:14)
version
[email protected]
config
"platform": "website-camera",
"cameras": [
{
"name": "Wikipedia",
"url": "https://de.wikipedia.org/wiki/Wikipedia:Hauptseite",
"timeout": 10000,
"renderTimeout": 1,
"cacheTime": 30000,
"chromiumPath": "/usr/bin/chromium-browser",
"live": "false",
"liveSnapshotInterval": 10000,
"liveRefreshInterval": 60000,
"livePort": 8554
}
]
},
Hi,
great Plugin. But i am unable to use it on my Docker Container. (Respberry)
I am unable to install chromium.
Can you please support me?
Thanks a lot
DON
There are two branches that have forked off this. Both are geared towards displaying an image as a camera, rather than a website. This leads to a few questions:
Thanks.
This seems to have been resolved previously but I’ve just installed 1.4.1 on an RPi 3 running Raspbian 8.
May 27 15:57:14 homekithub homebridge[24714]: [5/27/2019, 3:57:14 PM] [website-camera] Error: Failed to launch chrome! May 27 15:57:14 homekithub homebridge[24714]: bootstrap_helper: /usr/lib/chromium-browser/nacl_helper: Cannot open ELF file! errno=2 May 27 15:57:14 homekithub homebridge[24714]: [25220:25220:0527/155714.045740:ERROR:nacl_fork_delegate_linux.cc(315)] Bad NaCl helper startup ack (0 bytes) May 27 15:57:14 homekithub homebridge[24714]: [25208:25208:0527/155714.049006:ERROR:browser_main_loop.cc(495)] Failed to put Xlib into threaded mode. May 27 15:57:14 homekithub homebridge[24714]: [25208:25208:0527/155714.060614:ERROR:browser_main_loop.cc(272)] Gtk: cannot open display: May 27 15:57:14 homekithub homebridge[24714]: TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md May 27 15:57:14 homekithub homebridge[24714]: at onClose (/usr/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Launcher.js:342:14) May 27 15:57:14 homekithub homebridge[24714]: at ChildProcess.helper.addEventListener (/usr/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Launcher.js:332:60)
Hi,
thanks for this plugin.
I'm trying to use the plugin to display a website that runs locally on an arduino mega.
This website shows the temperature history of my heating system.
So far, this has worked only once. I think it's because the screenshot is done too fast. On a normal browser, it takes about 10 seconds for the counts to be displayed. Setting Timeout to 10 seconds did not work. According to the log, the snapshot is already generated one second after the call.
Could a proper waiting time help here?
Missing comma in the sample configuration (README.md)
"live": "true"
should be "live": "true",
"platforms": [
{
"platform": "website-camera",
"cameras": [
{
"name": "Website 1",
"url": "https://github.com",
"live": "true"
"liveSnapshotInterval": 1000,
"liveRefreshInterval": 5000,
"livePort": 8554
}
]
},
{
"platform": "Camera-ffmpeg",
"cameras": [
{
"name": "Website Camera",
"videoConfig": {
"source": "-i http://localhost:8554",
"stillImageSource": "-i http://localhost:8554/still"
}
}
]
}
]
I'd love to be able to add the --ignore-certificate-errors
flag to the chromium binary. There's an old govt website that I like to keep track of, but it fails because they use self-signed certs. Any help or ideas would be very welcomed. Thanks for the great module.
On Mac the /usr folder is secured, so I can't even create a softlink for /usr/bin/chromium-browser
I installed chromium with homebrew (brew install --cask chromium
→ /opt/homebrew/bin/chromium
)
But after installing, I still get the old path as an error message:
[5/3/2022, 2:54:57 AM] Error: Failed to launch the browser process! spawn /usr/bin/chromium-browser ENOENT
TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md
at onClose (/opt/homebrew/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:193:20)
at ChildProcess.<anonymous> (/opt/homebrew/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:185:85)
at ChildProcess.emit (node:events:527:28)
at Process.ChildProcess._handle.onexit (node:internal/child_process:289:12)
at onErrorNT (node:internal/child_process:476:16)
at processTicksAndRejections (node:internal/process/task_queues:82:21)
I would love to test the new Apple TV integration :D sadly changing my Homeserver from a Linux device to a Mac prevented from doing so
Hey there! I love this plugin. I tried to install this, I went through all the steps but all the time I get an error message. How can I get it to work?
[5/19/2021, 5:30:27 PM] [website-camera] Starting new instance of Chromium: /usr/bin/chromium-browser
[5/19/2021, 5:30:27 PM] [website-camera] Error: Failed to launch the browser process!
/usr/bin/chromium-browser: 12: xdg-settings: not found
cannot read mount namespace identifier of pid 1: Permission denied
TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md
at onClose (/usr/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:193:20)
at Interface.<anonymous> (/usr/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:183:68)
at Interface.emit (events.js:388:22)
at Interface.close (readline.js:429:8)
at Socket.onend (readline.js:202:10)
at Socket.emit (events.js:388:22)
at endReadableNT (internal/streams/readable.js:1336:12)
at processTicksAndRejections (internal/process/task_queues.js:82:21)
here's my config:
{
"platform": "website-camera",
"cameras": [
{
"name": "razer-macos GitHub",
"url": "https://github.com/1kc/razer-macos/issues",
"timeout": 10000,
"renderTimeout": 1,
"scale": 2,
"chromiumPath": "/usr/bin/chromium-browser"
}
]
}
Hi @werthdavid:
Is it possible to you, to add arguments for puppeteer.launch in Screenshothelper.js?
1st: Add a config option (per webcam) to use "ignoreHTTPSErrors: true" i.e. for local websites with self signed certificates
2nd: use "--no-sandbox" only if current user is "root"
Hi David,
tried to get the plugin working, however it always says in homekit "no response".
I started to debug your code:
issue seems to be, it is never jumping in the following function:
Camera.prototype.handleSnapshotRequest
All other functions like:
Camera.prototype.prepareStream
Camera.prototype.handleStreamRequest
...
are called when I click on the camera in homekit.
it also jumps into the live request:
`
let sessionIdentifier = this.hap.uuid.unparse(sessionID);
this.log("TH5");
if (requestType === "start" && this.pendingSessions[sessionIdentifier]) {
// TODO Implement "live" update mechanism
this.ongoingSessions[sessionIdentifier] = undefined;
this.log("TH8_NoLive");
`
Did I overlook something? It seems it's not requesting the still picture but rather the live stream only?
thanks a lot in advance.
Tobias
I've created two dummy cameras, one with this plugin and one with the ffmpeg homebridge plugin.
In the logs I can see, that the ffmpeg plugin responds immediately when I swipe to the Camera on the Apple TV, doesn't matter on which interface.
The website to camera plugin shows me the logs only when I open it on my iPhone (but also shows me a "No Response" watermark).
When I set "live" to "true", I get an infinite boot loop.
[06/12/2021, 12:38:08] TimeoutError: Navigation timeout of 10000 ms exceeded
at /usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js:106:111
[06/12/2021, 12:38:08] Got SIGTERM, shutting down Homebridge...
...
[06/12/2021, 12:38:13] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[06/12/2021, 12:38:18] [HB Supervisor] Restarting Homebridge...
config
{
"name": "Time",
"url": "https://time.is/",
"timeout": 10000,
"renderTimeout": 100,
"cacheTime": 5000,
"chromiumPath": "/usr/bin/chromium-browser",
"jsFile": "/home/pi/js/cookie_consent.js",
"live": "true",
"liveSnapshotInterval": 1000,
"livePort": 8554
}
Hello!
This plugin is great, many thanks!
Maybe a little improvement: adding an option to set the page refresh rate would be great!
I have set a webcam which only captures 1 picture per hour, so pluggin refresh every few seconds is a bit annoying.
Thanks in advance!
newbie over here, so I hope you can help me.
Installing chromium seems to work fine, but when testing it like you discribed, it gives this in return:
[1229/181723.401153:ERROR:elf_dynamic_array_reader.h(61)] tag not found
Trace/breakpoint trap
How can I solve this?
Thank you in advance
@werthdavid
The lates Eve for HomeKit App v4.2 is causing issues with several Homebridge Plugins.
They changed something so that the serial number of a device is linked somehow in the background. This was not with previous Eve versions.
Problems causing now like described here.
homebridge/homebridge#2503
So all devices/switches from homebridge-ssh can't be sorted anymore and can't get an icon for each device separately.
Do you see a solution to fix this "Eve" Issue, by changing something in your plugin?
Thanks again for your work and the time you are investing generally.
Hello and thank you for your great plugin that used to work very good.
Since a few days I get this error in the logs and I am unable to connect to the camera from the Home app.
Here is the error on the Homebridge logs: "One of your plugins incorrectly registered an external accessory using the platform name (website-camera) and not the plugin identifier. Please report this to the developer!"
Thanks!
Hi,
I use a homebridge on a RPi. Chromium is running fine and I can open url's on the desktop of the RPi.
I see no related errors in the log, just some initialization messages, which seems to be normal
When I add a camera I see
[website-camera] Starting new instance of Chromium: /usr/bin/chromium-browser
[website-camera] Chromium started
[website-camera] Opening new page
For both of the camera's
The problem is that there is no web page shown in the homekit app.
Thank you for any help you can give me
Rien
As described in the read.me the camera might not be seen by default.
So I did the following as suggested:
Press + on top right corner in Home-App
Press Add device
Press Code missing
Select Camera
Nevertheless the Homekit-App still asks me for the 8 digit code which I don't have.
If I click cancel I can close the code window but the camera was not added.
Any suggestions?
THANX
Hey! After logging "Going to page:..." in my terminal, I constantly have the following error: TimeoutError: Navigation Timeout Exceeded: 10000ms exceeded
I've migrated my homebridge server over to MacOS and can't get this plugin to function. It's most likely a path issue to chromium browser, can't seem to get it to add the camera. I've tried setting the path to:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome but nothing appears when trying to add an accessory.
Great plugin. One issue - when touching the camera in the Home app to get the full screen view, after 20 seconds or so, the screenshot disappears and is replaced with "No Response - This camera is not responding". I suspect this is because HomeKit is expecting a live view stream connection but none is forthcoming.
Any way to tell HomeKit that the accessory doesn't support streams, only snapshots, to prevent this?
Although more of a help request than an issue, I am pointing the plugin to an site on my local network, which requires login details to be entered on first login. I've tried login in from Chromium browser first, but when viewing the feed through the plugin, it displays the login screen for my locally hosted site.
Any idea how to bypass this or somehow send username and password detail through? The application I am trying to view does have API functionality, if that might help?
Thanks in advance!
Hi,
I have two questions:
1st: Why are there 3 to 4 chromium processes per cam running?
Is it possible to reduce that? Or is it possible to use the same chromium instance?
I haven't found anything in chromium config.
2nd: In Home app, if you tap on a picture it will enlarge to fullscreen, but there is no new image loaded in this view - just a loading wheel in the middle.
Do you see a chance to get images loaded (and maybe in better resolution) in this view?
kind regards,
Camera not responding and im not sure what the problem is
i have tried the standard settings in the example and just changed the path to the chromium app
macOS monterey
node v16.13.0
nam v8.1.1
CONFIG:
{
"platform": "website-camera",
"cameras": [
{
"name": "Google Maps Traffic",
"url": "http://google.com",
"height": 1334,
"width": 750,
"timeout": 10000,
"chromiumPath": "/Applications/Chromium.app/"
}
]
}
OUTPUT:
[10/29/2021, 10:16:27 AM] [website-camera] Starting new instance of Chromium: /Applications/Google Chrome.app/
[10/29/2021, 10:16:27 AM] [website-camera] Error: Failed to launch the browser process! spawn /Applications/Google Chromium.app/ EACCES
TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md
at onClose (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:193:20)
at ChildProcess.<anonymous> (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:185:85)
at ChildProcess.emit (node:events:390:28)
at Process.ChildProcess._handle.onexit (node:internal/child_process:288:12)
at onErrorNT (node:internal/child_process:477:16)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
Hello and thank you so much for your wonderful plugin. :-)
I have ioBroker and i have create a website with vis and vis-map with coordinates from my car (vw-connect-adapter). then i use your plugin and take the picture from map with car in my homekit. It works. But i have problems:
This is normal:
[14.5.2020, 09:36:06] [website-camera] Opening new page
[14.5.2020, 09:36:06] [website-camera] Setting Viewport to 960x540
[14.5.2020, 09:36:06] [website-camera] Going to page: http://192.168.5.220:8082/vis/index.html#DemoView
[14.5.2020, 09:36:10] [website-camera] Loading finished, waiting 100ms before taking screenshot
[14.5.2020, 09:36:10] [website-camera] Created screenshot
[14.5.2020, 09:36:10] [website-camera] Got screenshot
[14.5.2020, 09:37:21] [website-camera] Opening new page
[14.5.2020, 09:37:21] [website-camera] Setting Viewport to 960x540
[14.5.2020, 09:37:21] [website-camera] Going to page: http://192.168.5.220:8082/vis/index.html#DemoView
[14.5.2020, 09:37:23] [website-camera] Loading finished, waiting 100ms before taking screenshot
[14.5.2020, 09:37:23] [website-camera] Created screenshot
[14.5.2020, 09:37:23] [website-camera] Got screenshot
This is not normal and a mistake:
14.5.2020, 09:27:15] [website-camera] TimeoutError: Navigation timeout of 20000 ms exceeded
at /usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/LifecycleWatcher.js:126:25
-- ASYNC --
at Frame. (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/helper.js:83:19)
at Page.goto (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Page.js:623:53)
at Page. (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/helper.js:84:27)
at ScreenshotHelper.getScreenshot (/usr/local/lib/node_modules/homebridge-website-to-camera/ScreenshotHelper.js:33:16)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:97:5)
Can you help me please?
Sorry for my bad english. :-)
Hi,
can you please help me to debug the following output:
[9/24/2019, 9:29:56 AM] [website-camera] Chromium started
[9/24/2019, 9:29:56 AM] [website-camera] Opening new page
[9/24/2019, 9:29:56 AM] [website-camera] Chromium started
[9/24/2019, 9:29:56 AM] [website-camera] Opening new page
[9/24/2019, 9:29:56 AM] [website-camera] Setting Viewport to 960x540
[9/24/2019, 9:29:56 AM] [website-camera] Going to page: https://www.rmv.de/auskunft/bin/jp/stboard.exe/dn?L=vs_anzeigetafel&cfgfile=Schwalbach_3011106_1745928765&start=1
[9/24/2019, 9:29:56 AM] [website-camera] Setting Viewport to 960x540
[9/24/2019, 9:29:56 AM] [website-camera] Going to page: https://www.rmv.de/auskunft/bin/jp/stboard.exe/dn?L=vs_anzeigetafel&cfgfile=FrankfurtM_3000912_1519811804&start=1
[9/24/2019, 9:29:58 AM] [website-camera] Loading finished, waiting 1ms before taking screenshot
[9/24/2019, 9:29:58 AM] [website-camera] Loading finished, waiting 1ms before taking screenshot
[9/24/2019, 9:29:58 AM] [website-camera] { Error: Protocol error (Page.captureScreenshot): Target closed.
at Promise (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Connection.js:186:56)
at new Promise (<anonymous>:null:null)
at CDPSession.send (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Connection.js:185:12)
at Page._screenshotTask (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Page.js:863:39)
at process._tickCallback (internal/process/next_tick.js:68:7)
-- ASYNC --
at Page.<anonymous> (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/helper.js:144:27)
at ScreenshotHelper.getScreenshot (/usr/local/lib/node_modules/homebridge-website-to-camera/ScreenshotHelper.js:36:35)
message: 'Protocol error (Page.captureScreenshot): Target closed.' }
[9/24/2019, 9:29:58 AM] [website-camera] { Error: Protocol error (Page.captureScreenshot): Target closed.
at Promise (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Connection.js:186:56)
at new Promise (<anonymous>:null:null)
at CDPSession.send (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Connection.js:185:12)
at Page._screenshotTask (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/Page.js:863:39)
at process._tickCallback (internal/process/next_tick.js:68:7)
-- ASYNC --
at Page.<anonymous> (/usr/local/lib/node_modules/homebridge-website-to-camera/node_modules/puppeteer-core/lib/helper.js:144:27)
at ScreenshotHelper.getScreenshot (/usr/local/lib/node_modules/homebridge-website-to-camera/ScreenshotHelper.js:36:35)
message: 'Protocol error (Page.captureScreenshot): Target closed.' }
Unfortunately, I have very little further information. The plugin worked without any problems on a Raspi 3B+ with Raspberian Stretch. In the meantime I have had a Raspi 4 with Raspberian Buster for weeks and only noticed today that this error message is generated. Another change in my setup was of course the update to iOS 13, but I can't imagine that this is the reason.
Any idea where to look?
I use the plugin for quite some time. It seems to open up numerous instances of chromium after a while:
This is a memory snapshot from 10 minutes after booting the Raspberry Pi:
77 9 0.00% 64.68% 72.14% 124.78% `
In it, you will find 10 instances of /usr/lib/chromium/chromium.
This is a memory snapshot about two hours later:
84 9 0.00% 71.44% 79.49% 140.98%
`
Already 13 instances of /usr/lib/chromium/chromium are open now and they use more memory than before.
The Website to Camera plugin is the only application that uses chromium on my Raspberry Pi, so I think there may be some memory leak in it or in Chromium itself. Could you please have a look at it?
Thank you very much.
First of all, thank you for providing this plugin.
However, there are a few issues with it. The installation of chromium-browser is no longer possible, it probably needs to be chromium (without "-browser").
But when you install this browser (I did so on a headless Debian Bullseye), you only have awfully slow access to the fritzbox admin user interface. Connecting to the fritzbox is only possible when stopping homebridge. Deinstalling chromium or the plugin does not remedy the problem - the only way to get back to normal fritzbox access is by erasing and new installation of Debian Bullseye.
Is there a possibility for you to have a look into it? Until this is fixed, I have to strongly discourage users to install the plugin. I had to reinstall Debian Bullseye three times while trying to figure out the problem and every time it came back to the installation of chromium.
Thank you!
I'm running homebridge on an asus tinkerboard. Debian 9.9 (stretch).
I can't find "chromium-browser" in apt, but "chromium" is installed.
I can run chromium from cli and it returns no error. Tried to change chromiumPath to "/usr/bin/chromium" but its not working.
Is "chromium" even the right package or does it need to be "chromium-browser"?
@werthdavid
The lates Eve for HomeKit App v4.2 is causing issues with several Homebridge Plugins.
They changed something so that the serial number of a device is linked somehow in the background. This was not with previous Eve versions.
Problems causing now like described here.
homebridge/homebridge#2503
So all devices/switches from homebridge-website-to-camera can't be sorted anymore and can't get an icon for each device separately.
Do you see a solution to fix this "Eve" Issue, by changing something in your plugin?
Thanks again for your work and the time you are investing generally.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.