Seite 1 von 2

Windows Ordner auslesen und das neuste Bild auf der Basic ui anzeigen

Verfasst: 11. Feb 2019 10:23
von Conan75
Hallo Zusammen,

ich bin neu in diesem ganzen Thema. Ich würde gerne Bilder einer IP CAM (7Links PX-3755) von einem WIndowsordner auf der Basic UI anzeigen.
Das ganze soll so funktionieren.Die Cam macht bei Bewegung ein Bild und speichert dies in einen Ordner die Dateien werden von der Cam automatisch benannt MDAlarm_Datum_Zeit. Ist es möglich wenn ein neues Bild im Ordner gespeichert wird dieses auf der Paper UI anzuzeigen??? Wenn ja wie.
Für eine nette Erklärung wäre ich sehr dankbar.

Vielen Dank
Olli

Re: Windows Ordner auslesen und das neuste Bild auf der Basic ui anzeigen

Verfasst: 11. Feb 2019 11:12
von udo1toni
Auf welchem System läuft Dein openHAB? Auf dem gleichen Windows PC? Oder meinst Du mit "Windows Ordner" eine Freigabe im Netz, und openHAB läuft auf einem separaten Rechner unter einem GNU/Linux?

Leider gibt es keine offen verfügbare Funktion in openHAB, um gezielt Ordner zu überwachen (dabei nutzt openHAB das doch selbst).

Es gibt unter GNU/Linux ein Tool (inotifywait) welches den Dateinamen zurückliefert, wenn in einem Verzeichnis eine neue Datei angelegt oder eine bestehende Datei verändert wurde.
Dieses müsste dann in einem externen Script laufen, um die Information aktiv an openHAB zu schicken (am besten per REST API).
Allerdings kann es sein (ich hab auf die Schnelle nichts dazu gefunden), dass dazu das Dateisystem auf dem Rechner selbst liegen muss, sprich, der "Windows Ordner" müsste dann auf dem GNU/Linux PC liegen und dort als Samba Share für den Windows PC freigegeben werden.

Oder schreibt die IP CAM am Ende das Bild selbst aktiv in die Freigabe? Dann wiederum wäre es ja das Einfachste, die Freigabe direkt auf dem GNU/Linux System einzurichten.

Sollte openHAB bei Dir auf Windows laufen, gibt es auch für Windows entsprechende Programme.

Re: Windows Ordner auslesen und das neuste Bild auf der Basic ui anzeigen

Verfasst: 11. Feb 2019 14:53
von Conan75
Hallo Openhab läuft auf einem Windows PC. Die CAM speichert kleine Videos und Standbilder per FTP auf den gleichen PC. Mein Problem ist wie bekomme ich die in Openhab? Ich würde gerne so etwas wie eine "Türklingel" daraus bauen. Die Bilder werden im Dateinamen immer mit der aktuellen Zeit benannt. Ich hätte gerne das wenn ein neues Bild im Ordner abgelegt wird dieses in der Basic UI angezeigt wird. Im nächsten Schritt möchte ich versuchen das Bild als PIP auf dem Samsung TV anzuzeigen (oder so änhlich).

Re: Windows Ordner auslesen und das neuste Bild auf der Basic ui anzeigen

Verfasst: 11. Feb 2019 18:05
von udo1toni
Es gibt das kommerzielle File Juggler, oder als freie Alternative z.B. DropIt.
Das Programm kann automatisch Aktionen ausführen.
Um das ganze einfach zu halten, wäre eine Variante, die neueste Datei automatisch in ein anderes Verzeichnis zu kopieren.
Dabei überschreibst Du die letzte Datei mit der aktuellen (Du änderst also den Dateinamen beim Kopieren).
Damit musst Du nur immer das selbe Bild anzeigen.

Re: Windows Ordner auslesen und das neuste Bild auf der Basic ui anzeigen

Verfasst: 12. Feb 2019 10:16
von seppy
Hi,
ich kann Dir eine ähnliche Lösung für Linux anbieten :roll: :?: . Vom Prinzip her ähnlich. Wenn meiner Kamera eine Bewegung erkennt, starte ich eine Rule die wiederum ein Script aufruft. In diesem Script wird ein Snaphot des Kamerabilds geholt, umbenannt und mit Pushover an mich versandt. Evtl. kannst Du das unter Windows ähnlich lösen?
Grüße,
Seppy

Re: Windows Ordner auslesen und das neuste Bild auf der Basic ui anzeigen

Verfasst: 12. Feb 2019 11:45
von Conan75
das wäre super. Mein Problem ist das die Cam nicht mit Openhab verknüpft ist. Die Kamera erkennt eine Bewegung und speichert das Standbild in einem Windows Ordner. Alles schön aber ich kann in Openhab keine Action auslösen also muss Openhab die Veränderung im Ordner war nehmen oder ich muss die Kamera an Openhab anbinden.

Re: Windows Ordner auslesen und das neuste Bild auf der Basic ui anzeigen

Verfasst: 12. Feb 2019 16:00
von udo1toni
Hast Du Dir DropIt mal näher angeschaut? evtl. könntest Du dort auch ein Script starten, welches dann openHAB triggert und die notwendigen Informationen weiterleitet.

Re: Windows Ordner auslesen und das neuste Bild auf der Basic ui anzeigen

Verfasst: 12. Feb 2019 17:04
von Conan75
Hy,

ja ich habe mir Dropit angesehen und finde das Programm echt gut Ich habe auch ein Script gefunden das unter Windows auch läuft. Aber wie bekomme ich das in Openhab.

Hier das script:
Const strObserve = "C:\CAM\cam\PX-3755_C4D65539AEC3\record"
'Const strBatPath = "C:\test2.bat"
Const strSec = "10"


Set objWSHShell = CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceCreationEvent WITHIN " & strSec & " WHERE " _
& "TargetInstance ISA 'CIM_DirectoryContainsFile' AND " _
& "TargetInstance.GroupComponent = 'Win32_Directory.Name=""" _
& Replace(strObserve, "\", "\\\\") _
& """'")

Do
Set objEvent = colEvents.NextEvent()
strFile = Replace(Replace(Split(objEvent.TargetInstance.PartComponent, "=")(1), "\\", "\"), """", "")

MsgBox strFile & vbTab & " Letzte Änderung: " & FileTime
'objWSHShell.Run "cmd /c """"" & strBatPath & """ """ & strFile & """"""

Loop

// END

Das script zeigt mir an wenn eine neue Datei im Ordner abgelegt wird. Aber wie kann ich die Daten in Openhab weiterverarbeiten??

Re: Windows Ordner auslesen und das neuste Bild auf der Basic ui anzeigen

Verfasst: 12. Feb 2019 19:51
von udo1toni
Du musst die REST API von openHAB ansteuern. In GNU/Linux geht das mit curl. Windows 10 bringt das inzwischen wohl auch mit.
Die möglichen (bzw. notwendigen) Parameter bekommst Du über REEST API Doku raus, die normalerweise mit installiert ist (falls nicht, kannst Du das über Paper UI nachholen).

Re: Windows Ordner auslesen und das neuste Bild auf der Basic ui anzeigen

Verfasst: 13. Feb 2019 10:36
von Conan75
Das ganze übersteigt so ein wenig meine Fähigkeiten.