FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Wuck am 20 Februar 2019, 21:52:17

Titel: IPCAM: basicAuth und Credentials Datei
Beitrag von: Wuck am 20 Februar 2019, 21:52:17
Hi Forum (und wahrscheinlich Otto, der immer am schnellsten Antwortet ;) )!

Nachdem ich erfolgreich mit Ottos Hilfe mein Homematic Kram an den Start bringen konnte, probiere ich gerade wieder, meine Kameras einzubinden. Das ist eine 6001HD von Instar und ist wie folgt definiert:

Internals:
   AUTHORITY  10.0.4.32:8071
   DEF        10.0.4.32:8071
   FUUID      5c6da7da-f33f-0bea-f6fa-f5b4db2d6dd51157
   NAME       Wz.Kamera
   NR         80
   SEQ        0
   STATE      last: 2019-02-20 21:44:05
   TYPE       IPCAM
   READINGS:
     2019-02-20 21:44:05   last            Wz.Kamera_snapshot.jpg
     2019-02-20 21:44:05   snapshot1       Wz.Kamera_snapshot_1.jpg
     2019-02-20 21:44:05   snapshots       0
Attributes:
   DbLogExclude .*
   alias      Wohnzimmer Kamera
   basicauth  {USERNAME}:{PASSWORD}
   credentials /opt/fhem/ipcam.conf
   group      Kamera
   icon       it_camera
   path       tmpfs/snap.jpg
   pathCmd    cgi-bin/hi3510/param.cgi
   room       Wohnzimmer
   snapshots  1
   storage    ./www/snapshots




Meine ipcam.conf sieht so aus:

### Kamera Credentials ##


### Wohnzimmer
$credentials{Wz.Kamera}{username} = "foo";
$credentials{Wz.Kamera}{password} = "bar";

*username und password sind natürlich geändert und in Wirklichkeit richtig und auch ohne Schreibfehler eingetragen.

Schreibe ich in basicauth direkt den Usernamen und das Passwort funktioniert alles auf Anhieb. Über die Platzhalter klappts nicht. Habe testweise der conf-Datei auch alle Rechte (777) gegeben. Hat nix gebracht.
Hab ich in der conf was falsch oder wie löse ich das Problem? Habe hier und auch auf anderen Seiten gesucht, aber nix gescheites gefunden.
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: kroman am 21 Februar 2019, 20:41:04
Es passt schon alles bei dir.
Das einzige was mir im Unterschied zu meiner funktionierenden Lösung aufgefallen ist, ist der Name deiner Kamera, also der Punkt.
Wenn ich meinen auf einen Namen mit Punkt ändere, funktioniert es auch nicht mehr.
Ich vermute es liegt daran, dass der Punkt in perl ein Sonderzeichen ist, ihn zu escapen habe ich jetzt auf die Schnelle aber nicht geschafft.
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Wuck am 22 Februar 2019, 08:27:41
Ich habe es auch ohne den Punkt probiert. Das ging auch nicht. Ich bin. Der einzige, der hier in fhem rumfuhrwerkt, aber ich würde zur Sicherheit trotzdem gerne die Login-Daten auslagern. Werde mich da die Tage nochmal mit befassen.
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Otto123 am 22 Februar 2019, 10:06:28
Hi,

Einzige Idee die ich dazu habe: wie ist die Datei dahin gekommen? Wie ist die erzeugt? Mit Windows oder mit Linux?
Stichwort Zeilenumbruch. cr+lf -> lf

Gruß Otto
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Wuck am 22 Februar 2019, 12:20:39
Ich habe den Ordner mit sudo mkdir und die Datei dann mit sudo nano erzeugt. Ohne sudo hab ich an der Stelle natürlich keine Berechtigung. Vllt sollte ich sie einfach nochmal löschen und neu anlegen? Man weiß ja nie  :o
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Otto123 am 22 Februar 2019, 13:15:05
Ok dann war meine Idee in die falsche Richtung.
Mach doch mal verbose 5 beim Modul an, vielleicht redet es mit Dir :)
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: kroman am 22 Februar 2019, 16:44:34
Zitat
Ich habe den Ordner mit sudo mkdir

Welchen Ordern?

Zitat
und die Datei dann mit sudo nano erzeugt.

Dann solltest du noch das machen:


sudo chown fhem:dialout /opt/fhem/ipcam.conf


Und falls die Rechte anders sind, dann noch:


sudo chmod 644 /opt/fhem/ipcam.conf

Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Wuck am 22 Februar 2019, 16:54:41
Ich habe einen Ordner "credentials" angelegt, damit die Datei nicht lose irgendwo rundliegt. (/opt/fhem/credentials)

Die Rechte habe ich schon auf 644 und testweise sogar 777 geändert. Nur den Besitzer noch nicht. Das werde ich Mal probieren.  8)
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: kroman am 22 Februar 2019, 17:26:14
Zitat
Ich habe einen Ordner "credentials" angelegt, damit die Datei nicht lose irgendwo rundliegt. (/opt/fhem/credentials)

Wenn das list vom 1. Beitrag nocht stimmt, wird die Datei aber nicht gefunden werden...


credentials /opt/fhem/ipcam.conf


Falls die Datei in diesem Ordner ist, wären auch Besitzer und Rechte desselbigen anzupassen:


sudo chown fhem:dialout /opt/fhem/credentials
sudo chmod 755 /opt/fhem/credentials

Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Otto123 am 22 Februar 2019, 21:41:59
Zitat von: Wuck am 22 Februar 2019, 16:54:41
Die Rechte habe ich schon auf 644 und testweise sogar 777 geändert.
Sowas gilt aus meiner Sicht als grob fahrlässig und ist meist völlig sinnlos. Werner sagt immer: das ist böse :)
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Wuck am 10 März 2019, 11:47:41
Hallo kroman! Hallo Otto!

@Otto: Das war nur testweise. Hätte ja klappen und den Fehler eingrenzen können. Bin doch gar nicht böse  ;D

Aber auch das ändern des Besitzers und der Rechte hat nicht funktioniert. Mit verbose 5 kommt:
IPCAM Wz.Kamera Wrong or not supported image format: error while reading source image:

Der Fehler ist aber seltsam, weil ich das Bild ja bekomme, wenn ich Nutzer und Passwort direkt eintrage.


Vllt hat es mit der Syntax zu tun, die im IPCAM Modul für die credentials verwendet wird? Oder muss ich noch irgendwie was globales zur Nutzung der credentials einstellen?
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Otto123 am 10 März 2019, 13:16:50
Zitatnot supported image format
Sieht mir eher nach einem anderen Fehler aus
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Wuck am 10 März 2019, 14:42:04
Wenn ich die falschen Zugangsdaten direkt eintippe, kommt der gleiche Fehler.
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Otto123 am 10 März 2019, 15:00:51
Naja manchmal sind die Fehlermeldungen nicht die Stärke des Entwicklers ... :D
Und das steht jetzt nicht mehr so:
credentials /opt/fhem/ipcam.conf
sondern so?
credentials /opt/fhem/credentials/ipcam.conf

mach mal zur Kontrolle eine Abfrage in der FHEM Kommandozeile
{qx(ls -lha /opt/fhem/credentials/)}
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Wuck am 10 März 2019, 17:02:28
insgesamt 12K
drwxr-xr-x  2 fhem dialout 4,0K Mär 10 11:53 .
drwxr-xr-x 17 fhem dialout 4,0K Mär 10 11:35 ..
-rwxrwxrwx  1 root root     279 Mär 10 11:53 ipcam.conf


Das kommt da raus

in der Kamera ist als attr "credentials" auch
/opt/fhem/credentials/ipcam.conf
eingetragen.
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Otto123 am 10 März 2019, 19:06:02
ok dann hat der chown wohl nicht geklappt, aber egal fhem sollte sie lesen können.
Keine Idee mehr, hab das so noch nicht gemacht.
Gruß Otto
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Klaus.A am 10 März 2019, 23:39:04
Das Problem kommt mir bekannt vor - ich habe damals lange experimentiert, bis ich auf eine sonderbare Lösung gekommen bin:

Es hat funktioniert sobald ich die Pfade mit einem "?" abgeschlossen hatte, also so:


   path       /tmpfs/snap.jpg?
   pathCmd    /cgi-bin/hi3510/param.cgi?


Die Credentials Datei sieht OK aus, habe ich genauso. Nur den Pfad zu Credentials habe ich als relativen Pfad angegeben - das sollte aber nicht die Ursache sein.
Ich tippe auf das sonderbare "?".

Gruß, Klaus
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Wuck am 12 März 2019, 10:19:47
Das hat leider auch nicht funktioniert. Und wenn Otto schon quittiert, sind wir alle verloren  :o ;D
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: kroman am 12 März 2019, 21:50:48
Mach das bitte:


sudo chown fhem:dialout /opt/fhem/credentials/ipcam.conf
sudo chmod 644 /opt/fhem/credentials/ipcam.conf


dann benenne die Kamera um (Punkt weg), teste nochmal und zeig alles nochmal her:


list <kamera>
ls -la /opt/fhem/credentials/
cat /opt/fhem/credentials/ipcam.conf
Titel: Antw:IPCAM: basicAuth und Credentials Datei
Beitrag von: Wuck am 19 März 2019, 23:39:55
ENDLICH!!!!!!   :) :) :) :) :) :) :) :) :) :) :) :) :)

Vielen Dank kroman!

Also war der Besitzer der Datei nicht angepasst? Manchmal kommt man aber auch auf die logischsten Dinge nicht, wenn man sich schon blöd daran geguckt hat  :o ;D