NEWS
Blink Camera System
-
@pischleuder
meinst duauth = Auth(json_load("/home/saeko/blink/cred.json"))
da stehen die Kontodaten drin. Ich probiers mal ohne. sollte sich aber eigentlich nichts ändern
Was steht da drin ? --> Username und Passwort ?
japp
-
@soukai sagte in Blink Camera System:
Per iobroker aufruf
sudo -u iobroker python3 ./bild.py
kommt nun folgendes:saeko@raspberrypi:/opt/iobroker $ sudo -u iobroker python3 ./bild.py Traceback (most recent call last): File "/opt/iobroker/./bild.py", line 4, in <module> from blinkpy.blinkpy import Blink ModuleNotFoundError: No module named 'blinkpy'
Wie gesagt, das ist komplett falsch und Du solltest das aus Deinen Gedanken streichen
-
Normaler aufruf per Konsole:
saeko@raspberrypi:/opt/iobroker $ python bild.py Could not extract camera info: {'message': 'Camera not found', 'code': 500} Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown Expected json response from https://rest-e004.immedia-semi.com/network/66328/camera/unknown/config, but received: 406: Not Acceptable Could not extract camera info: None Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown
Dieser Aufruf wird nur mit ./bild.py gemacht, weil die Definition bereits für python im script ist und zwar mit
#!/usr/bin/python3
-
ggf. einmal dieses script erstellen und laufen lassen:
#!/usr/bin/python3 ###### zuerst ein pip3 install request ausführen, wenn nicht bereits installiert ##### import requests import time #from pushover import init, Client from blinkpy.blinkpy import Blink from blinkpy.auth import Auth from blinkpy.camera import BlinkCamera blink = Blink() auth = Auth({"username": "E-Mail", "password": "Passwort"}, no_prompt=True) blink.auth = auth blink.start() auth.send_auth_key(blink, "hier blink key") blink.setup_post_verify() for name, camera in blink.cameras.items(): print(name), print(camera.attributes)
Nicht das bei den / der Kamera was nicht stimmt.
-
@pischleuder said in Blink Camera System:
ggf. einmal dieses script erstellen und laufen lassen:
#!/usr/bin/python3 ###### zuerst ein pip3 install request ausführen, wenn nicht bereits installiert ##### import requests import time #from pushover import init, Client from blinkpy.blinkpy import Blink from blinkpy.auth import Auth from blinkpy.camera import BlinkCamera blink = Blink() auth = Auth({"username": "E-Mail", "password": "Passwort"}, no_prompt=True) blink.auth = auth blink.start() auth.send_auth_key(blink, "hier blink key") blink.setup_post_verify() for name, camera in blink.cameras.items(): print(name), print(camera.attributes)
Nicht das bei den / der Kamera was nicht stimmt.
Das kam dabei raus:
saeko@raspberrypi:/opt/iobroker $ python bildneu.py Could not extract camera info: {'message': 'Camera not found', 'code': 500} Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown Did not receive valid response from server. Could not extract camera info: {'message': 'Camera not found', 'code': 500} Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown Haustür {'name': 'Haustür', 'camera_id': '68316', 'serial': 'G8T1GJ0003118F0H', 'temperature': 102, 'temperature_c': 38.9, 'temperature_calibrated': 102, 'battery': 'ok', 'battery_voltage': 168, 'thumbnail': 'https://rest-e004.immedia-semi.com/api/v3/media/accounts/62195/networks/66328/catalina/68316/thumbnail/thumbnail.jpg?ts=1655982587&ext=', 'video': None, 'motion_enabled': True, 'motion_detected': False, 'wifi_strength': -70, 'network_id': 66328, 'sync_module': 'Zuhause', 'last_record': None, 'type': 'catalina'} Türklingel {'name': 'unknown', 'camera_id': 'unknown', 'serial': None, 'temperature': None, 'temperature_c': None, 'temperature_calibrated': None, 'battery': None, 'battery_voltage': None, 'thumbnail': None, 'video': None, 'motion_enabled': 'unknown', 'motion_detected': False, 'wifi_strength': None, 'network_id': 66328, 'sync_module': 'Zuhause', 'last_record': None, 'type': None}
Das json zu streichen hat auch nichts neues gebracht.
Das kommt von der Konsole wenn ichs streich. Wahrscheinlich nicht wichtig aber ich schicks mal.saeko@raspberrypi:/opt/iobroker $ python bild.py Could not extract camera info: {'message': 'Camera not found', 'code': 500} Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown Expected json response from https://rest-e004.immedia-semi.com/network/66328/camera/unknown/config, but received: 406: Not Acceptable Could not extract camera info: None Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown
@pischleuder said in Blink Camera System:
@soukai sagte in Blink Camera System:
Per iobroker aufruf
sudo -u iobroker python3 ./bild.py
kommt nun folgendes:saeko@raspberrypi:/opt/iobroker $ sudo -u iobroker python3 ./bild.py Traceback (most recent call last): File "/opt/iobroker/./bild.py", line 4, in <module> from blinkpy.blinkpy import Blink ModuleNotFoundError: No module named 'blinkpy'
Wie gesagt, das ist komplett falsch und Du solltest das aus Deinen Gedanken streichen
Nagut
@pischleuder said in Blink Camera System:
Normaler aufruf per Konsole:
saeko@raspberrypi:/opt/iobroker $ python bild.py Could not extract camera info: {'message': 'Camera not found', 'code': 500} Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown Expected json response from https://rest-e004.immedia-semi.com/network/66328/camera/unknown/config, but received: 406: Not Acceptable Could not extract camera info: None Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown
Dieser Aufruf wird nur mit ./bild.py gemacht, weil die Definition bereits für python im script ist und zwar mit
#!/usr/bin/python3
Meinst du in der Konsole oder in Iobroker dann? habe das mal versuchshalber ausprobiert in der Konsole und in iobroker:
./bild.py
aber konnte nicht aufgerufen werden. Habe auch das "#" entfernt probeweise im Script. Keine Änderung.kommt folgendes in Konsole:
saeko@raspberrypi:/opt/iobroker $ sudo ./bild.py sudo: ./bild.py: command not found saeko@raspberrypi:/opt/iobroker $ ./bild.py -bash: ./bild.py: Permission denied
-
Servus,
also nochmal : lass alles ! mit sudo und python davorgestellt weg, sowohl in der Konsole (Terminal) als auch im iobroker blockly
Ist das script ausführbar gemacht mit chmod 755 scriptname ?
Im script lässt du die Zeile mit python bitte genau so stehen, wie ich es gepostet hatte.
mach mal bitte ein ls -ldh bild.py und poste das Ergebnis. -
also nochmal : lass alles ! mit sudo und python davorgestellt weg, sowohl in der Konsole (Terminal) als auch im iobroker blockly
Danke für deine Geduld! Habs jetzt wie du sagtest geändert. Rechte sind geändert und script läuft. Jedoch streikt er aber bei deinem Script, warum auch immer
saeko@raspberrypi:/opt/iobroker $ chmod 755 bildneu.py saeko@raspberrypi:/opt/iobroker $ ./bildneu.py -bash: ./bildneu.py: /usr/bin/python3^M: bad interpreter: No such file or directory saeko@raspberrypi:/opt/iobroker $ chmod 755 bild.py saeko@raspberrypi:/opt/iobroker $ ./bild.py Could not extract camera info: {'message': 'Camera not found', 'code': 500} Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown Expected json response from https://rest-e004.immedia-semi.com/network/66328/camera/unknown/config, but received: 406: Not Acceptable Could not extract camera info: None Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown
Hier ein das Ergebnis von ls -ldh bild.py und bildneu.py (dein script):
saeko@raspberrypi:/opt/iobroker $ ls -ldh bild.py -rwxr-xr-x+ 1 saeko saeko 1.3K Jun 23 13:21 bild.py saeko@raspberrypi:/opt/iobroker $ ls -ldh bildneu.py -rwxr-xr-x+ 1 saeko saeko 612 Jun 24 14:48 bildneu.py
-
@soukai sagte in Blink Camera System:
also nochmal : lass alles ! mit sudo und python davorgestellt weg, sowohl in der Konsole (Terminal) als auch im iobroker blockly
Danke für deine Geduld! Habs jetzt wie du sagtest geändert. Rechte sind geändert und script läuft. Jedoch streikt er aber bei deinem Script, warum auch immer
Weil Du offensichtlich python3 nicht installiert hast , sondern nur python
Hier ein das Ergebnis von ls -ldh bild.py und bildneu.py (dein script):
saeko@raspberrypi:/opt/iobroker $ ls -ldh bild.py -rwxr-xr-x+ 1 saeko saeko 1.3K Jun 23 13:21 bild.py saeko@raspberrypi:/opt/iobroker $ ls -ldh bildneu.py -rwxr-xr-x+ 1 saeko saeko 612 Jun 24 14:48 bildneu.py
Jep, jetzt sieht man auch, warum das script aus blockly nicht ausgeführt wird. Die Rechte müssen auf iobroker sein. Bei mir sieht das so aus:
-rwxrwxrwx+ 1 iobroker iobroker 1,7K Apr 6 15:41 blink-cameras.py pi@raspberrypi2:/opt/iobroker $
-
@pischleuder
ist das nicht python 3?saeko@raspberrypi:/opt/iobroker $ python --version Python 3.8.4
hoffentlich ist es das kannst mir vielleicht eben sagen wie ich die Rechte auf iobroker änder?
-
-
saeko@raspberrypi:/opt/iobroker $ ls -ldh bild.py -rwxr-xr-x+ 1 iobroker saeko 1.3K Jun 23 13:21 bild.py
-
-
saeko@raspberrypi:/opt/iobroker $ ls -ldh bild.py -rwxr-xr-x+ 1 iobroker iobroker 1.3K Jun 23 13:21 bild.py
-
nun sollte es hoffentlich laufen...
-
@pischleuder leider macht blockly immer noch kein bild in das Verzeichnis
leider immer noch nichts. Egal wie
-
1.) du hast in Deinem blockly das python voran entfernt,
ich würde alle scripte in /opt/iobroker packen, wegen der Rechte
2.) was für eine Kamera ist das
3.) wie sieht die bild.py jetzt genau aus
4.) wird das script jetzt ausgeführt, unabhängig davon ob ein bild in das Verzeichnis gelegt wird -
@pischleuder said in Blink Camera System:
1.) du hast in Deinem blockly das python voran entfernt
2.) was für eine Kamera ist das
3.) wie sieht die bild.py jetzt genau aus
#!/usr/bin/python3 import requests from blinkpy.blinkpy import Blink from blinkpy.auth import Auth from blinkpy.helpers.util import json_load from blinkpy.camera import BlinkCamera blink = Blink() auth = Auth({"username": 'x', "password": 'x'}, no_prompt=True) blink.auth = auth blink.start() #auth.send_auth_key(blink, "x") #blink.setup_post_verify() ###### hier den Dateinamen/Pfad eintragen, den das snapshot Bild erhalten soll - bei mir Flur und Garten Kamera ##### bild = './haustuer.jpg' #bild2 = '/home/saeko/blinkpy/Tuerklingel.jpg' #for name, camera in blink.cameras.items(): print(name), print(camera.attributes) #### hier Eure Kamera 1 eintragen und weitere Einträge für mehr Kameras vornehmen #### camera = blink.cameras['Haustür'] camera.snap_picture() blink.refresh() camera.image_to_file(bild) #payload = {'value':bild} #r = requests.get("http://192.168.178.92:8081/set/0_userdata.0.snapcamera1", params=payload) #### hier Eure Kamera 2 eintragen und weitere Einträge für mehr Kameras vornehmen #### #camera = blink.cameras['Türklingel'] #camera.snap_picture() #blink.refresh() #camera.image_to_file(bild2) #payload = {'value':bild} #r = requests.get("http://192.168.178.92:8081/set/0_userdata.0.snapcamera1", params=payload)
4.) wird das script jetzt ausgeführt, unabhängig davon ob ein bild in das Verzeichnis gelegt wird
In der Konsole ja.
das kommt in der konsolesaeko@raspberrypi:/opt/iobroker $ ./bild.py Could not extract camera info: {'message': 'Camera not found', 'code': 500} Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown Expected json response from https://rest-e004.immedia-semi.com/network/66328/camera/unknown/config, but received: 406: Not Acceptable Could not extract camera info: None Expected json response from https://rest-e004.immedia-semi.com/network/unknown/camera/unknown/signals, but received: 406: Not Acceptable Could not retrieve calibrated temperature. Could not find thumbnail for camera unknown
Wie prüfe ich es in blockly? Zumindest kommt keine Fehlermeldung in der Konsole
-
@soukai sagte in Blink Camera System:
@pischleuder said in Blink Camera System:
1.) du hast in Deinem blockly das python voran entfernt
hier muss auch der Pfad mit angegeben werden:
/opt/iobroker/bild.py ebenso beim jpg -
Gesagt, getan. Das hatte ich dann auch schon versucht... Leider ohne Erfolg...
-
@soukai sagte in Blink Camera System:
#!/usr/bin/python3 import requests from blinkpy.blinkpy import Blink from blinkpy.auth import Auth from blinkpy.helpers.util import json_load from blinkpy.camera import BlinkCamera blink = Blink() auth = Auth({"username": 'x', "password": 'x'}, no_prompt=True) blink.auth = auth blink.start() #auth.send_auth_key(blink, "x") #blink.setup_post_verify() ###### hier den Dateinamen/Pfad eintragen, den das snapshot Bild erhalten soll - bei mir Flur und Garten Kamera ##### bild = './haustuer.jpg' #bild2 = '/home/saeko/blinkpy/Tuerklingel.jpg' #for name, camera in blink.cameras.items(): print(name), print(camera.attributes) #### hier Eure Kamera 1 eintragen und weitere Einträge für mehr Kameras vornehmen #### camera = blink.cameras['Haustür'] camera.snap_picture() blink.refresh() camera.image_to_file(bild)
hier wäre es ggf. angeraten, dass zu ergänzen:
time.sleep(10) blink.refresh(force=True)
das kann wichtig sein, weil er dir ggf. sonst das alte (vorherige) Bild aufgrund von cache Problemen sendet.