kein Bild mit IPCAM von Instar 5905HD

Begonnen von bicmac, 23 Mai 2019, 15:05:12

Vorheriges Thema - Nächstes Thema

bicmac

Hi,
ich bekomme meine Instar 5005HD irgendwie nicht zum laufen.
Ein LiveBild mittels iframe funktioniert.
Wenn ich jedoch die Kamera über IPCAM ansprechen möchte um mir mittels get image ein Bild zu holen bekomme ich nur ein leeres Bild und folgende Fehlermeldung im Log

"2019.05.23 14:51:49 1: IPCAM KAMERA_HAUSTUER Wrong or not supported image format: error while reading source image: "

Es gab zwar haufen Posts zu der Fehlermeldung, aber irgendwie habe ich nichts gefunden was wirklich geholfen hat.

Eingerichtet habe ich die Kamera so wie es Instar hier beschrieben hat (password und User habe ich entsprechend meines "guest" users gesetzt.
  https://wiki.instar.com/Advanced_User/FHEM_on_a_Raspberry_Pi/

Hier mal ein List auf das Device:

Internals:
   AUTHORITY  192.168.2.10:80

   DEF        192.168.2.10:80

   FUUID      5ce66de6-f33f-236c-77b6-b169dacf8e28e727
   NAME       KAMERA_HAUSTUER
   NR         116
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   READINGS:
     2019-05-23 14:10:29   last            KAMERA_HAUSTUER_snapshot.jpg
     2019-05-23 14:10:29   snapshot1       KAMERA_HAUSTUER_snapshot_1.jpg
     2019-05-23 14:10:29   snapshots       0
Attributes:
   basicauth  {USERNAME}:{PASSWORD}
   credentials /opt/fhem/credentials/ipcams.conf
   delay      5
   event-on-update-reading snapshots
   icon       it_camera
   path       tmpfs/snap.jpg?user={USERNAME}&pwd={PASSWORD}
   pathCmd    param.cgi?
   room       KAMERA
   snapshots  1
   storage    /opt/fhem/www/snapshots
   verbose    5

INSTAR

#1
Servus @bicmac,

versuch mal die Basic Authentication zu setzen:


attr OfficeCam basicauth {USERNAME}:{PASSWORD}


Ich habe es gerade mal probiert, beim JPG Pfad wird das Login (?user={USERNAME}&pwd={PASSWORD}), dass man hinten anhängt leider nicht übergeben. In der Anleitung funktioniert es, weil über die basicauth das Login schon vorangestellt wird.


Ohne das Login erhält man eine Textantwort von der Kamera, die zur Fehlermeldung Wrong or not supported image format: error while reading source image führt.


INSTAR Support

INSTAR Deutschland GmbH
IP Kameras und Netzwerktechnik

INSTAR

#2
Oh moment, Ich sehe gerade Du hast die ja schon aktiviert.

Das sollte eigentlich funktionieren, auch mit dem Guest Account.


Hier ist einmal die Definition der IPCAM, wie sie für das Tutorial angelegt wurde:


defmod OfficeCam IPCAM 192.168.2.116:80
attr OfficeCam DbLogExclude .*
attr OfficeCam alias IN-8015 Full HD
attr OfficeCam basicauth {USERNAME}:{PASSWORD}
attr OfficeCam cmd01 cmd=pushhostalarm&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd02 cmd=setinfrared&-infraredstat=auto&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd03 cmd=setinfrared&-infraredstat=close&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd04 cmd=setmdattr&-name=1&-enable=0&cmd=setmdattr&-name=2&-enable=0&cmd=setmdattr&-name=3&-enable=0&cmd=setmdattr&-name=4&-enable=0?cmd=setpirattr&-pir_enable=0&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd05 cmd=setmdattr&-name=1&-enable=1&cmd=setmdattr&-name=2&-enable=1&cmd=setmdattr&-name=3&-enable=1&cmd=setmdattr&-name=4&-enable=1?cmd=setpirattr&-pir_enable=1&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd06 cmd=preset&-act=goto&-number=0&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd07 cmd=preset&-act=goto&-number=1&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd08 cmd=preset&-act=goto&-number=2&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd09 cmd=ptzctrl&-step=0&-act=hscan&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd10 cmd=setscheduleex&-ename=md&-week0=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week1=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week2=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week3=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week4=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week5=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week6=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd11 cmd=setscheduleex&-ename=md&-week0=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week1=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week2=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week3=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week4=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week5=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week6=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd12 cmd=setmdattr&-name=1&-enable=1&cmd=setmdattr&-name=2&-enable=1&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd13 cmd=setmdattr&-name=1&-enable=0&cmd=setmdattr&-name=2&-enable=0&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd14 cmd=setmdattr&-name=3&-enable=1&cmd=setmdattr&-name=4&-enable=1&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmd15 cmd=setmdattr&-name=3&-enable=0&cmd=setmdattr&-name=4&-enable=0&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmdPos01 cmd=preset&-act=goto&-number=0&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmdPos02 cmd=preset&-act=goto&-number=1&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmdPos03 cmd=preset&-act=goto&-number=2&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmdPos04 cmd=preset&-act=goto&-number=3&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmdPos05 cmd=preset&-act=goto&-number=4&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmdPos06 cmd=preset&-act=goto&-number=5&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmdPos07 cmd=preset&-act=goto&-number=6&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam cmdPos08 cmd=preset&-act=goto&-number=7&-usr={USERNAME}&pwd={PASSWORD}
attr OfficeCam cmdPos09 cmd=preset&-act=goto&-number=7&-usr={USERNAME}&-pwd={PASSWORD}
attr OfficeCam credentials /opt/fhem/credentials/ipcams.conf
attr OfficeCam event-on-update-reading snapshots
attr OfficeCam group Surveillance
attr OfficeCam icon it_camera
attr OfficeCam path tmpfs/snap.jpg?usr={USERNAME}&pwd={PASSWORD}
attr OfficeCam pathCmd param.cgi?
attr OfficeCam room Office
attr OfficeCam snapshots 1
attr OfficeCam storage /opt/fhem/www/snapshots

setstate OfficeCam last: 2019-05-24 12:25:30
setstate OfficeCam 2019-05-24 12:25:30 last OfficeCam_snapshot.jpg
setstate OfficeCam 2019-05-24 12:25:30 snapshot1 OfficeCam_snapshot_1.jpg
setstate OfficeCam 2019-05-24 12:25:30 snapshots 1
INSTAR Deutschland GmbH
IP Kameras und Netzwerktechnik

INSTAR

#3
OK Fehler gefunden  8)

Es muß so ausschauen:

tmpfs/snap.jpg?usr={USERNAME}&pwd={PASSWORD}


Und nicht so:


tmpfs/snap.jpg?user={USERNAME}&pwd={PASSWORD}



Wir werden das umgehend in der Anleitung berichtigen  :D




UPDATE: Interessanterweise funktioniert es bei mir nicht mehr nachdem ich den Fehler oben berichtigt hatte. Jetzt habe ich testweise das angehangene Login entfernt und dann läuft es wieder (da das Login ja eigentlich auch über die BasicAuth laufen sollte). Ich behalte es einmal im Auge. Eventuell habe sich da nur die beiden Logins gebissen.


Auf jeden Fall kommt die Fehlermeldung:

Wrong or not supported image format: error while reading source image

Immer dann, wenn die Kamera kein Bild zurückgibt - also z.B. wenn die Authentifizierung fehlschlägt.


Zur Zeit läuft es dann hier mit : attr OfficeCam path tmpfs/snap.jpg
INSTAR Deutschland GmbH
IP Kameras und Netzwerktechnik

bicmac

Bei mir gehts nicht :-(
ggf habe ich einen Fehler ihn der credentials?

Bei mir sieht die so aus (PWD ist ersetzt :-) )


$credentials{KAMERA_HAUSTUER}{USERNAME} = "guest";
$credentials{KAMERA_HAUSTUER}{PASSWORD} = "MEINPWD";


Ist echt ärgerlich, denn ich dachte die Kamera funktioniert zuverlässig mit FHEM.

INSTAR

#5
Nicht sicher ob Groß/Kleinschreibung hier relevant ist - aber hier sind username und password in klein geschrieben:


## Login Credentials ##

### OfficeCam IN-8015 Full HD ###


$credentials{OfficeCam}{username} = "admin";
$credentials{OfficeCam}{password} = "instar";



Und eventuell auch einmal FHEM oder die Kamera und FHEM Installation neustarten. Nach der gemachten Änderung (oben) lief es bei mir auch erst weiter. Erst nach einem Update/Neustart von FHEM trat dann der Fehler auf und es wurden keine neuen Bilder mehr abgegriffen. Die Session scheint da noch weiter zu laufen und ich konnte die Änderung nicht sehen.
INSTAR Deutschland GmbH
IP Kameras und Netzwerktechnik

INSTAR

Habe es testweise nochmal unter Windows eingerichtet und auch hier keine Probleme mit der Kamera:


defmod OfficeCam IPCAM 192.168.2.116:80
attr OfficeCam alias IN-8015 Full HD
attr OfficeCam basicauth {USERNAME}:{PASSWORD}
attr OfficeCam credentials E:\fhem-5.9\www\credentials\ipcams.conf
attr OfficeCam event-on-update-reading snapshots
attr OfficeCam group Surveillance
attr OfficeCam icon it_camera
attr OfficeCam path tmpfs/snap.jpg
attr OfficeCam pathCmd param.cgi?
attr OfficeCam room Office
attr OfficeCam snapshots 1
attr OfficeCam storage E:\fhem-5.9\www\snapshots
attr OfficeCam verbose 5

setstate OfficeCam last: 2019-05-24 20:14:23
setstate OfficeCam 2019-05-24 20:14:23 last OfficeCam_snapshot.jpg
setstate OfficeCam 2019-05-24 20:14:23 snapshot1 OfficeCam_snapshot_1.jpg
setstate OfficeCam 2019-05-24 20:14:23 snapshots 1
INSTAR Deutschland GmbH
IP Kameras und Netzwerktechnik

bicmac

bei mir klappt es nicht :-(
Zumal ich den auch noch das admin PWD vergessen habe und nun net mal schauen kann ob ich die aktuelle FW drauf habe. Werd wohl die CAM rosetten müssen. Dazu muss ich nur mal hinfahren da die nicht direkt bei mir steht.

bicmac

ich habe das Password der Kamera doch noch gefunden und nun auch ein Update gemacht.
Aber auch das hilft nicht. Sie will einfach nicht mit FHEM zusammenarbeiten :-(
Langsam verzweifle ich.
Kann ich die Kamera ggf dazu bringen ohne Userauthentifizierung Bilder zu liefern?
ist zwar sicherheitstechnisch Mist aber Imme rnoch besser als nix.

INSTAR

Wenn man per Browser auf:


http://guest:MEINPWD@<kamera Adresse:Port>/tmpfs/snap.jpg

http://guest:MEINPWD@<kamera Adresse:Port>/tmpfs/snap.jpg?user=guest&pwd=MEINPWD


zugreift, bekommt man da eine Bild? Ist der Verbindungsaufbau eventuell langsam? Dann kann man auch mal "/tmpfs/auto.jpg" probieren, um den kleineren Snapshot abzugreifen.
INSTAR Deutschland GmbH
IP Kameras und Netzwerktechnik

bicmac

http://guest:MEINPWD@<kamera Adresse:Port>/tmpfs/snap.jpg
Nein da wer ich nach dem PWD gefragt

http://guest:MEINPWD@<kamera Adresse:Port>/tmpfs/snap.jpg?user=guest&pwd=MEINPWD
Ja das geht im Browser.

Hab extra auch demn Browser zwischendurch beendet und den Cache gelöscht damit er das PWD nicht irgendwo zwischen speichert beim testen.


INSTAR

Also ein Zugriff ohne Athentifizierung ist bei den Kameras nicht vorgesehen. Aber wenn das Anhängen des Logins an den Befehl im Browser funktioniert, kann man eventuell mal die BasicAuth bei FHEM rausnehmen.
INSTAR Deutschland GmbH
IP Kameras und Netzwerktechnik

bicmac

hab ich auch probiert geht leider nicht.  Da hab ich das selbe verhalten. Kann leider auch nirgends sehen was er wirklich aufruft.
Also mit probiert meine ich
basicAuth argument und credentials Attribut gelöscht
das Path Attribut ergänzt um user und pwd
Konfig gespeichert
und dann FHEM gestartet.

Letztlich das selbe verhalten wie vorher.

INSTAR

Man könnte einmal Wireshark starten und die IP des Rechners bei IPCAM hinterlegen - dann würde man sehen was da für eine Anfrage rausgeht.

Oder Alternativ, wenn man irgendwo Node-RED am Laufen hat, kann man da auch einen /tmpfs/snap.jpg Endpunkt anlegen und schauen was FHEM sendet.
INSTAR Deutschland GmbH
IP Kameras und Netzwerktechnik

bicmac

Das liefert Wireshark. Und es sieht so aus als wenn er es richtig anfragt. Denn mache ich genau die Zeile in Browser auf bekomme ich ein Bild zurück.
Nur im FHEM mit IPCAM nicht :-(
Hab das Password fuer den test extra nochmals geändert.



Frame 18: 189 bytes on wire (1512 bits), 189 bytes captured (1512 bits) on interface 0
Ethernet II, Src: raspberry1.fritz.box (b8:27:eb:d5:fa:a7), Dst: macinchen.fritz.box (2c:f0:ee:10:4b:2a)
    Destination: macinchen.fritz.box (2c:f0:ee:10:4b:2a)
        Address: macinchen.fritz.box (2c:f0:ee:10:4b:2a)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: raspberry1.fritz.box (b8:27:eb:d5:fa:a7)
        Address: raspberry1.fritz.box (b8:27:eb:d5:fa:a7)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: raspberry1.fritz.box (192.168.2.149), Dst: macinchen.fritz.box (192.168.2.115)
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 175
    Identification: 0xa9d3 (43475)
    Flags: 0x4000, Don't fragment
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0x0a1d [validation disabled]
    [Header checksum status: Unverified]
    Source: raspberry1.fritz.box (192.168.2.149)
    Destination: macinchen.fritz.box (192.168.2.115)
Transmission Control Protocol, Src Port: 59896, Dst Port: 80, Seq: 1, Ack: 1, Len: 123
    Source Port: 59896
    Destination Port: 80
    [Stream index: 5]
    [TCP Segment Len: 123]
    Sequence number: 1    (relative sequence number)
    [Next sequence number: 124    (relative sequence number)]
    Acknowledgment number: 1    (relative ack number)
    1000 .... = Header Length: 32 bytes (8)
    Flags: 0x018 (PSH, ACK)
    Window size value: 229
    [Calculated window size: 29312]
    [Window size scaling factor: 128]
    Checksum: 0x0846 [unverified]
    [Checksum Status: Unverified]
    Urgent pointer: 0
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        TCP Option - No-Operation (NOP)
            Kind: No-Operation (1)
        TCP Option - No-Operation (NOP)
            Kind: No-Operation (1)
        TCP Option - Timestamps: TSval 1449206329, TSecr 894946441
    [SEQ/ACK analysis]
        [iRTT: 0.002659000 seconds]
        [Bytes in flight: 124]
        [Bytes sent since last PSH flag: 123]
    [Timestamps]
        [Time since first frame in this TCP stream: 0.002664000 seconds]
        [Time since previous frame in this TCP stream: 0.000005000 seconds]
    TCP payload (123 bytes)
Hypertext Transfer Protocol
    GET /tmpfs/snap.jpg?usr=guest&pwd=guest HTTP/1.0\r\n
        [Expert Info (Chat/Sequence): GET /tmpfs/snap.jpg?usr=guest&pwd=guest HTTP/1.0\r\n]
            [GET /tmpfs/snap.jpg?usr=guest&pwd=guest HTTP/1.0\r\n]
            [Severity level: Chat]
            [Group: Sequence]
        Request Method: GET
        Request URI: /tmpfs/snap.jpg?usr=guest&pwd=guest
            Request URI Path: /tmpfs/snap.jpg
            Request URI Query: usr=guest&pwd=guest
                Request URI Query Parameter: usr=guest
                Request URI Query Parameter: pwd=guest
        Request Version: HTTP/1.0
    Host: 192.168.2.115\n
    \r\n
    [Full request URI: http://192.168.2.115/tmpfs/snap.jpg?usr=guest&pwd=guest]
    [HTTP request 1/1]
Hypertext Transfer Protocol
    User-Agent: fhem\r\n
    Accept-Encoding: gzip,deflate\r\n
    \r\n