GithubHelp home page GithubHelp logo

stg93 / blaulichtsms_einsatzmonitor_tv_controller Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 9.0 96 KB

TV Controller für ein HDMI CEC fähiges Gerät mit dem blaulichSMS Einsatzmonitor

License: MIT License

Python 97.17% Shell 2.83%
blaulichtsms einsatzmonitor raspberry-pi

blaulichtsms_einsatzmonitor_tv_controller's People

Contributors

noxish avatar paulwoelfel avatar r00tat avatar stg93 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blaulichtsms_einsatzmonitor_tv_controller's Issues

Feature: Session in URL für Anmeldung mitgeben

Ist deine Idee verwandt zu einem Problem?
Chromium vergisst manchmal das Passwort.

Beschreibe die Lösung die du dir vorstellst
Man kann der URL des Dashboards über den token parameter die sessionId mitgeben. somit kann man das (einmalige) Anmelden in Chromium übergehen. Weiters ist somit eine sichere Anmeldung gegeben, sollte das Passwort mal "vergessen" werden.

Zusätzliches
siehe: Einsatzmonitor Autologin

Ich hatte das in der ersten Version des Einsatzmonitor TV Controllers so adaptiert:
content = {"username": USERNAME, "password": PASSWORD, "customerId": CUSTOMER_ID} response = requests.post(BASE_URL + "login", json = content) os.system("chromium-browser --noerrdialogs --incognito --start-fullscreen https://dashboard.blaulichtsms.net/#/login?token="+response.json()["sessionId"]+" --disable-translate &")

LG

Alarm wird nicht erkannt

Beschreibe den Fehler
Die Überprüfung ob ein Alarm neu ist basiert derzeit auf dem Datum des Alarms. Die API von BlaulichtSMS liefert ein Alarmdatum das der tatsächlichen Alarmierung entspricht und nicht dem Zeitpunkt an dem der Alarm am Einsatzmonitor eintrifft. Zusätzlich ist dieser Zeitpunkt in UTC. Das kann dazu führen das ein Alarm nicht erkannt wird. Ein Beispiel folgt im nächsten Abschnitt. Eine mögliche Lösung ist vielleicht eine Überprüfung basierend auf der Alarm ID.

Zur Nachvollziehbarkeit
Beispiel für eine fehlgeschlagene Alarmierung (ohne Berücksichtigung das der Alarmzeitpunkt ohnehin in UTC geliefert wird):

  • Die letzte Überprüfung auf einen Alarm war um 23:26:24 diese enthält keinen neuen Alarm.
  • Die nächste Überprüfung ist um 23:26:57 diese enthält einen Alarm mit einem Zeitpunkt um 23:26:18.
  • Da der Alarm mit Verzögerung ausgeliefert wird wurde dieser nicht schon um 23:26:24 erkannt.
  • Nun wird überprüft ob der Alarmzeitpunkt hinter der letzten Überprüfung liegt.
  • Da das nicht der Fall ist wird der Alarm nicht erkannt.

Erwartetes Verhalten
Da der Alarm legitim ist sollte der Einsatzmonitor angezeigt werden.

Fehler bei der Installation

Hallo,
habe alles nach der Anleitung installiert hat auch funktioniert, bis zur configure.py danach kommt diese Meldung

configure.py:310: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. config = yaml.load(logging_config)

Jetzt weiß ich nicht weiter, da der alarmmonitor nicht startet und kein Dashboard erscheind.

Nach dem part Verwendung öffnet sich Browser nicht

Hallo

Ich habe das Programm auf einem Raspberry Pi4 schon einmal zum laufen gebracht das war vorrige Woche (14.12.2019). Habe nun das Problem das ich mir einen zweiten Raspberry Pi 4 mit diesem Programm machen möchte hat auch soweit alles funktioniert aber wenn ich den Raspberry neu starte macht er nach dem Anmelden nichts. Bei dem zweiten Raspberry bin ich noch nicth auf die Blaulichtsms seite gekommen!
Er öffnet den Browser nicht !!

Habe ich etwas falsch gemacht?
Vielleicht kann mir jemand helfen?

LG LUKI

pip3 install cec failed

ich hab das pip3 package cec installiert, jedoch meint der installer, dass das package fehlt.

sudo ./INSTALL
Checking apt dependencies...
All apt dependencies are met

Checking pip dependencies...
Please install missing pip packages via
        'pip3 install cec'

somit ist keine installation aus des skript hreaus möglich. Habe über die direkten kommandos das cec getestet (echo 'on 0' | cec-client RPI -s -d 1) - funktioniert und somit sollte die installation auch durch sein.

Problem mit Alarmzeit

Servus

Im file blaulichtsmscontroller.py in dem Codeabschnitt in welcher die Alamierungszeit abgefragt wird gibt es ein Problem.

Bei mir ist die Alamierungs-Uhrzeit um 1 Stunde im Rückstand deshalb funktioniert das automatische einschalten des TVs nicht

denke das hier irgendwo der Fehler begraben sein könnte

      alarm_datetime = datetime.strptime(
            alarm["alarmDate"],
            '%Y-%m-%dT%H:%M:%S.%fZ'

hoffe Sie können das Problem beheben.

Danke im voraus

Fehler bei neuer Python version

Hallo,

Habe versucht das ganze unter Raspian Stretch zum laufen zu bringen.
Leider scheint das Ansteuern über CEC nicht zu funktionieren, da "encoding" in der aktuellen Python Version nicht mehr vorhanden ist.

Bekomme immer; TypeError: init() got an unexpected keyword argument 'encoding'

Aber vermutlich mache ich einfach was falsch....

Benachrichtigung bei Fehlern

Problembeschreibung
Bricht die Verbindung zum HDMI Gerät ab oder kann der Browser nicht gestartet werden, wird das geloggt und falls so konfiguriert wird das Log am Ende eines Tages per Mail verschickt. Eine unmittelbare Benachrichtigung sobald ein solcher Fehler auftritt erfolgt nicht.

Beschreibe die Lösung die du dir vorstellst
Wird zum Beispiel die Verbindung zum HDMI Gerät unterbrochen sollte unmittelbar eine Email versendet werden. Sobald der Fehler nicht mehr Auftritt sollte eine weitere Email folgen die eine Entwarnung darstellt.

Funktioniert nur teilweise

Im test.py startet der Monitor aber der Browser wird nicht geöffnet.
Der Zugriff auf den Einsatzmonitor funktioniert (es wird der letzte bzw aktuelle Alarm angezeigt).
Wenn ich einen testalarm über den einsatzmonitor auslösen wird der Monitor auch nicht gestartet.

Vielleicht kann mir da jemand helfen.

DANKE, LG ANDI

Mehrere Alarme in kurzem Abstand

Problembeschreibung
Tritt ein Alarm auf und der Einsatzmonitor wird angezeigt, wird im Hintergrund nicht mehr auf weitere Alarme überprüft. Kommt zum Beispiel kurz nach einem Alarm ein weitere Alarm, wird dieser erst erkannt nach dem das HDMI Gerät nach dem ersten Alarm ausgeschaltet wird. Danach wird das HDMI Gerät wieder für den vollen konfigurierten Zeitraum aktiviert, obwohl zwischen den Alarmen zum Beispiel auch nur fünf Minuten liegen können.

Beschreibe die Lösung die du dir vorstellst
Treten zwei Alarme im Abstand von zum Beispiel fünf Minuten auf, sollte das HDMI Gerät für den vollen konfigurierten Zeitpunkt ab dem zweiten Alarm eingeschaltet sein.

Zusätzliches
Dafür muss der HDMI Geräte Handler in einem eigenen Thread laufen und sollte ein neuer Alarm kommen ein alter Thread gestoppt werden. Das HDMI Gerät wird dann nur von dem aktuellsten Thread ausgeschaltet.

Compatibility - Raspberry Pi Zero W

Hi,
ich versuche gerade den Controller auf einem "Raspberry Pi Zero W" zum Laufen zu bringen, habe jedoch Probleme - da der Chromium Browser in den aktuellen Rasbian Images beim Zero W nicht mehr startet :-( (Fehlermeldung "Illegal instruction"). Es gibt dazu einige Beiträge im Internet - konnte aber noch keine brauchbare Lösung finden.
Mit welchem Image konntet ihr den Controller am Zero W erfolgreich zum Laufen bringen?

Btw: beim RPi 4 funktioniert alles wunderbar ( Danke für die tolle Lösung :-) )

Two/More clients on one monitor

I have a request, maybe someone has the same 'problem'.

We have two clients at blaulichtsms.net, because of two fire departements.
Some colleagues of Client 2 are also active firemen at Client 1

Client 1 and Client 2 are in different villages.

In case of an alarm for Client 1, the colleagues from Client 2 equip ant move out at fire departement 2.
So it would be helpful, to see the alarm for Client 1 on the monitor in Client 2 too.

Does anybody have the same issue, having an idea how to implement or is able to implement/code it?

I already pointed the request at blaulichtSMS.net but the answer was, that there is no ability to set an alarmgroup
of Client 1 on Monitor of Client 2.

Im am unfortunately not able to code it by myself, but i am able to do testing with two clients and monitors.

Thanks in advance for any assistence.

Eigener Infoscreen nach einer gewissen Zeit ohne Alarm

Hallo stg93. Ich verfolge schon einige Zeit deine Bemühungen und bin sehr begeistert von deiner Lösung. Ich habe schon vor einigen Monaten begonnen auf Basis deines damals vorhanden Scripts einige Erweiterung einzubauen. Erstens habe ich die Möglichkeit hinzugefügt, dass nach einer gewissen Zeit statt dem Einsatzbildschirm eine andere Internetseite angezeigt wird auf der ich einen "Infoscreen" mit eigenen Informationen, laufende Einsätze im Bereich, Interner FF Kalender und Wettervorhersagen erstellt habe. Außerdem habe ich die Abschaltfunktion um eine Bewegungserkennung erweitert. D.h. wenn ein am Raspberry PI angeschlossener Bewegungsmelder eine Bewegung erkennt, schaltet er den Monitor aktiv und wenn nach einer vorgegebenen Zeit keine Bewegung erkannt wurde geht der Monitor wieder in Standby. Hier habe ich mehrere Zeiten berücksichtigt. Eine Zeit nach einem Alarm bei der der Monitor unbedingt aktiv bleibt, nach dieser Zeit wechselt der Bildschirm von Einsatzmonitor auf den Infomonitor und da, nach aktuell 3 Minuten, wenn keine Bewegung vor dem Schirm ist dann in den Standby-Modus des TV'S. Da ich glaube, dass diese Funktionalität auch für andere interessant wäre, stellt sich die Frage, ob wir hier nicht vielleicht gemeinsam was machen könnten. Es würde mich freuen wenn du mich kontaktieren würdest meine Nummer ist 066*******LG Charly @stg93

Chromium startet nicht in Vollbild

Chromium startet mit eingeblendeter Menüleiste (ca. 1/5 des Bildschirms hoch) und nicht Vollbild beim Aufruf des test.py skripts.

(weitere Idee bezüglich Chrome Autlogin siehe #2 )

bitte um Hilfe bei der Installation

hallo,
bin gerade dabei mir das Programmieren beizubringen und bräuchte ein bisschen Hilfe!
Ich habe alle erforderlichen Bibliotheken installiert und den user zur gruppe staff hinzugefügt.
Ich muss jetzt noch die Konfiguration vor der Installation durchführen, soweit habe ich es verstanden.
Aber bezüglich des Source Code komme ich nicht weiter. Wo finde ich den und in welches Verzeichnis muss ich den vor der Installation verschieben?

LG Christoph

Debian Stretch

Servus :)
Nettes Projekt 👍

nur eine Frage hat sich für mich aufgetan
sollte Raspbian Stretch Minimal oder Desktop verwendet werden?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.