Verständnisproblem "nightvision"

Hallo Instar-Support,

ich experimentiere gerade mit IN-8015 und MQTT, Onvif usw. herum.

Ein MQTT-Topic „currentbrightness“ scheint es nicht zu geben. Das habe ich mir über CGI selbst gebaut und sende das Topic an den MQTT-Broker.

Die Interpretation des Wertes ist etwas ungewöhnlich: Hoher Wert = dunkel, niedriger Wert = hell.
Anders als bei üblichen Helligkeitsmessern. Der Maximalwert ist 270? Das ist der Wert, den man in den MQTT-Samples als maximalen Schwellwert für „upperirthreshold“ auswählen kann. Damit könnte man den Helligkeitswert auf 270 - „currentbrightness“ auf üblichere Werte umskalieren.

Mit den beiden Schwellwerten „upperirthreshold“ und „lowerirthreshold“ habe ich ein Verständnisproblem.
Wenn „currentbrightness“ > „upperirthreshold“ (dunkel) ist das der SW-Modus und die IR-LEDs schalten ein, wenn in auto.
Wenn „currentbrightness“ < „lowerirthreshold“ (hell) ist Farb-Modus.
Was ist aber dazwischen?
Gibt es also drei Modi (SW, Normal, Farbe)?
Was ist dann der Unterschied zwischen Normal und Farbe?

Ich würde mir daraus gerne ein MQTT-Topic bauen, das ich im Nodered-Flow benutzen kann.

Grüße aus dem Rheinland
Ingo

Hallo @ijen ,

currentbrightness ist bereits drinnen. Es gibt aber noch keinen Mechanismus, der diesen Wert aktualisiert. D.h. beim MQTT Topic:

features/nightvision/currentbrightness

wird zur Zeit einmal beim Booten der Kamera der Wert des Helligkeitsensors ausgelesen und danach nicht mehr anepasst. Es ist geplant zukünftig Kameramodelle anzubieten, die über mehr Sensoren verfügen. Und dafür benötigen wir MQTT Topics die sich selbst aktualisieren - also z.B. mit einem polling interval von 5s den aktuellen Wert auslesen und as Update raus-puschen. Der dafür benötigte Mechanismus ist zur Zeit noch nicht vorhanden - wird dann aber in Zukunft folgen.

D.h. wenn man die aktuelle Helligkeit auslesen möchte, müsste man dies in Node-RED noch über die HTTP Schnittstelle machen, indem man regelmässig nachfragt:

Sobald dies dann auch in der MQTT API hinzugefügt wurde, wird es natürlich gleich um einiges einfacher werden. Aber es ist zumindest eine Lösung die man sofort einsetzen kann.

Zur Funktionsweise - wenn man über die WebUI die Kamera permanent in den Tag oder Nachtmodus schaltet (Das geht im Features/Nachtsicht Menü mit der IRcut-Filter Einstellung), dann wird der obere und untere Schwellwert einmal auf 0 gesetzt bzw. auf 270 und der AutoIRcut Wert von open auf close geändert.

Tagmodus

  • features/nightvision/autoircut: open
  • features/nightvision/upperirthreshold: 270
  • features/nightvision/lowerirthreshold: 270

Nachtmodus

  • features/nightvision/autoircut: close
  • features/nightvision/upperirthreshold: 1
  • features/nightvision/lowerirthreshold: 1

D.h. man braucht jetzt in Node-RED nur alle paar Minuten nach der aktuelle Helligkeit fragen und kann dann bei Unter/Überschreitung zwischen diesen beiden Zuständen schalten.

Und noch zu Ergänzung:

es gibt keinen „Zwischenzustand“. Nur zwei Schaltpunkte die beliebig weit auseinander liegen können (innerhalb der 1-270 Skala). Wenn man beide Parameter auf den gleichen Wert setzt, würde man beim Erreichen dieses Punktes ein wildes hin- hergeschalte bei der Kamera anrichten. Deshalb braucht man hier einen gewissen Abstand.

Ob die Kamera sich in dieser „Zwischenzone“ dann im Tag oder Nachtmodus befindet, hängt davon ab aus welcher Richtung sie in diese Zone gekommen ist.

Hallo Mike

currentbrightness ist bereits drinnen

bist Du Dir da ganz sicher? Im MQTT Explorer gibt es kein MQTT Topic „features/nightvision/currentbrightness“ oder „status/features/nightvision/currentbrightness“.
Auch nicht nach einem Reboot.
Ist aber kein Problem. Hole ich mit NR-Flow alle 30s und setze das Topic selbst.

es gibt keinen „Zwischenzustand“

Alles klar. Das ist also eine Hysterese. Ist natürlich erforderlich.
Zu überlegen wäre nur, ob Ihr die eventuell fest konfiguriert und dem User nur einen einzustellenden Wert ermöglicht. Das würde es etwas benutzerfreundlicher machen.

Grüße aus dem Rheinland
Ingo

Das Befehlstopic gibt es nicht - nur den Status. Aber es stimmt, da hatte sich tatsächlich etwas geändert. Ich teste gerade einen Fix - hier bekomme ich wieder den Wert ausgelesen. Wenn der läuft, würde es mit dem nächsten Update rausgehen.

Es kommt ja nicht nur auf den Schaltpunkt, sondern auch auf die Steigung der Hysterese an. Im Sommer hat man morgens und abends einen sehr scharf definierten Punkt ab wann es hell wird. Im Winter ziehen sich Sonnenauf- und Untergang sehr lange hin, gehen teilweise sogar ineinander über. Hier möchte man die obere und untere Grenze des Schaltpubktes also etwas auseinanderziehen damit es optimal passt.

Man kann also für jede Jahressaison einen Optimalwert bestimmen und dann als Variablen-Paar (oberer und untere Schwellwert) in Node-RED hinterlegen. Gerade wenn die Kamera im Halbschatten montiert ist - dort hat man mit dem Standardwert häufig im Winter Schwierigkeiten (die Kamera bleibt zu lange im Nacht- oder Tagmodus hängen)

Ich möchte ebenfalls den aktuellen Helligkeitswert via MQTT auslesen. Am liebsten wäre mir natürlich ein Push bei Werteänderungen, notfalls kann ich aber auch selbst pollen.
Das Topic findet sich aber nicht in der Kommunikation - weder nach dem Booten und auch sonst nicht. Ich habe die Firmware-Version 4.1.2.48. Hat es der Fix nie in ein Release geschafft?