Erweiterung für Modul IPCAM - inkl. AttrTemplate

Begonnen von delMar, 23 Februar 2021, 22:52:24

Vorheriges Thema - Nächstes Thema

delMar

Hallo Zusammen,

ist das Modul IPCAM aktuell gewartet? Anders gefragt: ist der Modulautor aktiv?
Vor ca 2 Jahren hab ich schon mal einen Patch geliefert, der von Rudi dankenswerterweise eingecheckt wurde.
Jetzt hätt ich die nächste Idee: diverse Attribute sollen direkt aus Readings anderer Devices übernommen werden können.
Konkret: den Pfad in IPCAM würde ich gern aus einem ZoneMinder-Monitor Device auslesen, anstatt in zwei Devices zB eine IP-Adresse in Sync halten zu müssen.

Wenn ich schon dabei bin, hätt ich einige der Verbesserungsvorschläge aus Forum und Wiki aufgegriffen (zB Logging auf Log3 umstellen, bessere Log-Einträge zwecks Debugging, etc), und wohl auch ein eigenes Package eingeführt.

Sollte das Modul verwaist sein, würd ich mich hier als Pate anbieten, dann müssten die Check-Ins auch nicht über Dritte laufen.

Danke schon mal im Voraus für die Auskunft.

schöne Grüße
Martin
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

rudolfkoenig

Den Modulautor gibts noch, er hat sich aber weitgehend aus der FHEM-Entwicklung zurueckgezogen.
Ich wuerde mich freuen, wenn Du das Modul als Maintainer uebernimmst.
Bitte auch MAINTAINER.txt anpassen.

delMar

Vielen Dank für die rasche Antwort.
Ich werd das im Modul-Thread mal ansprechen und dann loslegen.
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

delMar

#3
Hallo nochmal,

die vielen möglichen Attributskombinationen für die Kameras sprechen sehr dafür, das Modul um Attribute Templates (vergleichbar mit MQTT2 Devices) zu erweitern.

Ich hab nun ein-, zwei Stunden im Forum und im Sourcecode herumgesucht, habe aber keine schlüssige Doku (bzw Referenzimplementierung) gefunden, wie ich das in x einfachen Schritten in ein Modul einbauen kann.

Hier also die Frage an euch:
Woran orientiere ich mich am Besten, um für zB im Forum genannte Pfad-Parameter (https://wiki.fhem.de/wiki/IPCAM#Unterst.C3.BCtzte_Netzwerkkameras) Templates anbieten zu können?

Als Gegenleistung würd ich das dann auch aufgehübscht zur Developer Doku im Wiki hinzufügen  ;)
(falls nicht eh schon vorhanden und ich bloß nicht gefunden)

Ergänzung: ich will hier nicht Faul sein und mir die Lösung präsentieren lassen. Ein zielgerichteter Hinweis auf die richtigen Codestücke zur Inspiration reicht mir völlig.

Danke schon im Voraus

schöne Grüße
Martin
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

rudolfkoenig

#4
AttrTemplates kriegt man automatisch, wenn man SetExtensions verwendet.

Sonst muss man in SetFn das alte
  return "Unknown argument $cmd, choose one of $list"
fuer unbekannte Befehle durch
return AttrTemplate_Set($hash, $list, $name, $cmd, @a);
ersetzen, wobei ($hash, $name, $cmd, @a) die Aufrufparameter von SetFn sind, in dieser Reihenfolge.


Nachtrag:
danach legt man in FHEM/lib/AttrTemplate eine Datei mit Endung .template an.
Was Einfaches schaut so aus:
name:ipcamTest-multiparam
filter:TYPE=IPCAM
desc:test description
par:P1;P1-Text;{ "DEVICE" }
par:P2;P2-Text
attr DEVICE comment P1 P2

delMar

Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

delMar

#6
Kann ich templates einfach so einchecken? (im richtigen Ordner natürlich)

Habs empirisch erhoben, funktioniert.  ;)
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.