Hauptmenü

GPIO 15 einlesen

Begonnen von theotherhalf, 17 März 2024, 19:48:11

Vorheriges Thema - Nächstes Thema

Aurel_B

#30
Hmmm, my 2 cents? FHEM auf einem Raspi wäre für mich Overkill. Falls du gerne bastelst: das würde sich wunderbar mit einem ESP32 und z.B. MQTT lösen lassen bei ungleich niedrigerem Stromverbrauch (dein Raspi wird wohl so 20-30kW/Jahr ziehen). Falls doch Raspi bin ich nicht sicher, ob FHEM die eleganteste Lösung ist?
Wie gesagt: Shell- oder Perl- oder was auch immer Skript welches die Daten erhält und - falls eine Abweichung stattfindet zum alten Wert - eine entsprechende Meldung an deine FHEM Hauptinstanz absetzt.
Wenn ich die Logeinträge richtig interpretiere, so liegt das Problem darin, dass ECMD im Moment hauptsächlich nur "zerhackte" Meldungen einliest die nicht weiter verarbeitet werden. Mit "partial" wartet ECMD immer x Sekunden und setzt dann alle in der Zwischenzeit erhaltene Meldungen aneinander. So erhältst du nicht "R" dann 0 dann 5 dann 7 dann \r sondern "R057\r". Es kann auch mal ein längerer String werden (also "R057\rR057\rR057\r" etc.), der wird durch Split schön in seine Einzelteile (also R057) zerlegt. Macht das so Sinn?

theotherhalf

Zitat von: Aurel_B am 22 März 2024, 14:45:57Hmmm, my 2 cents? FHEM auf einem Raspi wäre für mich Overkill. Falls du gerne bastelst: das würde sich wunderbar mit einem ESP32 und z.B. MQTT lösen lasden bei ungleich niedrigerem Stromverbrauch (dein Raspi wird wohl so 20-30kW/Jahr ziehen). Falls doch Raspi bin ich nicht sicher, ob FHEM die eleganteste Lösung ist?
Wie gesagt: Shell- oder Perl- oder was auch immer Skript welches die Daten erhält und - falls eine Abweichung stattfindet zum alten Wert - eine entsprechende Meldung an deine FHEM Hauptinstanz absetzt.
Wenn ich die Logeinträge richtig interpretiere, so liegt das Problem darin, dass ECMD im Moment hauptsächlich nur "zerhackte" Meldungen einliest die nicht weiter verarbeitet werden. Mit "partial" wartet ECMD immer x Sekunden und setzt dann alle in der Zwischenzeit erhaltene Meldungen aneinander. So erhältst du nicht "R" dann 0 dann 5 dann 7 dann \r sondern "R057\r". Es kann auch mal ein längerer String werden (also "R057\rR057\rR057\r" etc.), der wird drch Split schön in seine Einzelteile (also R057) zerlegt. Macht das so Sinn?

Habe nun ,,Partial 1" und ,,Split \r" hinzugefügt und nun läuft es sauber! Vielen Dank für eure Unterstützung!
Jetzt rauschen die Werte hier ein, aber das ist für mich ok, ich logge das auf der Nebeninstanz nicht mit und so hat der Raspi nur mit diesem einen Sensor zu tun. Abholen werde ich das dann mit einem Timer alle 5 Minuten, das sollte dann ok sein.

Ja, es mag etwas der overkill sein, aber den alten Raspi hatte ich noch hier in der Bastelkiste herumliegen und FHEM seitig habe ich zumindest die Basiskenntnisse um das aufzusetzen. Da bot sich das an.
Um es dann flüssig zum Laufen zu bekommen wird es dann, wie ihr seht aber schon holprig.
Der alternative Weg ist sicher einfacher, mir fehlt aber schlicht die Zeit mich in die Welt der Skripte einzuarbeiten. Von daher dieser (Umweg) über FHEM.
Für einen anderen Weg brauche ich sicher eine Menge softwareseitige Unterstützung, wenn das für euch ok ist, könnte ich mich da dran wagen:-) Hardware würde ich sicher hinbekommen...
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

RalfRog

Hallo

Wenns läuft kannst Du noch mit dem Attribut "logTraffic <loglevel>"
das loggen der "Datagramme" (wie 2024.03.22 08:46:48 3: Pegelmessung: read 60 (\066\060)) reduzieren
und lediglich dein READING (2024-03-22 12:10:50 ECMDDevice Pegel_Bach Pegel_Bach: 78) je nach Erfordernissen bei Änderungen loggen.

Die SD-Karte wirds dir danken.

Gruß Ralf
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

theotherhalf

Als die Signale korrekt im Reading ankamen, tauchten Sie im Log gar nicht mehr auf, sondern nur noch im Event Monitor. Der wird aber nicht auf die SD Karte geschrieben, oder?
Im ECMD Device habe ich den logTraffic wieder herausgenommen. Also sollte die Karte hierdurch nicht zugemüllt werden, richtig?
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

Beta-User

Der Eventmonitor zeigt nur die Events; was (an "normalen Readings") geloggt wird, bestimmst du dann über FileLog etc..

Anregung: event-on-change-Reading setzen (ggf. mit erlaubter Schwankungsbreite) und ggf. einen zeitlichen Threshold setzen (event-min-interval). Dann sieht das schon sehr viel ruhiger aus.

Trotzdem würde ich für sowas auch eher einen leichteren "Auswerter" setzen wie einen (wartungstechnisch gedacht) vollwertigen Computer... Aber klar, ohne Programmierkenntnisse ist das vermutlich schwierig, evtl. gibt es bei Tasmota was, das man leicht auf einen ESP32 (wegen 2. serieller Schnittstelle) bannen könnte.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files