Hi,
durch einen Beitrag im Holzvergaser Forum bin ich auf FHEM aufmerksam geworden.
Mein Problem - die FlammTronik, via USB am raspberry mit FHEM angeschlossen sendet Daten, diese kommen auch bei FHEM an, werden aber dann nicht weiter verarbeitet.
Berechtigungen und 'Besitzer' der Dateien und Verzeichnisse wurde ebenfalls berücksichtigt.
Ich bräuchte mal jemanden mit Erfahrung, der mich auf die Richtige Spur bringt, denn irgendwie seh ich gerade den Wald vor lauter Bäumen nicht.
Wenn das läuft, würde ich gerne andere Geräte (RLA und Heizkreisregelung mit Arduino) ebenfalls auf diese Art einbinden und ggf. Daten via USB zurück senden.
Eine Lösung via Firmata etc. kommt dabei erstmal nicht in frage - reine Serielle Kommuikation.
in die fhem.cfg habe ich folgende Einträge geschrieben:
Zitatdefine FlammTronik ECMD serial /dev/ttyUSB0@38400
attr FlammTronik classdefs FT=/opt/fhem/ECMD/Flammtronik.classdef
attr FlammTronik partial 3
attr FlammTronik room Heizraum
attr FlammTronik verbose 3
define Heizkessel ECMDDevice FT
attr Heizkessel IODev FlammTronik
attr Heizkessel event-on-change-reading .*
attr Heizkessel room Heizraum
define FlamLog FileLog ./log/FlamLog-%Y-%m.log Heizkessel:Laufzeit:.*|Heizkessel:Kesseltemp:.*|Heizkessel:Abgas:.*|Heizkessel:Brennkammer:.*|Heizkessel:Primaerluefter:.*|Heizkessel:Sekundaerluefter:.*|Heizkessel:O2:.*|Heizkessel:Ruecknahme:.*|Heizkessel:Verlust:.*|Heizkessel:Pumpe:.*|Heizkessel:status:.*|Heizkessel:CAN_T1:.*|Heizkessel:CAN_T2:.*|Heizkessel:CAN_T3:.*|Heizkessel:CAN_T4:.*
in der /opt/fhem/ECMD/Flammtronik.classdef
steht
reading Spontan match ".*\r\n\021"
reading Spontan postproc {my $d=$_;CheckFrame("%NAME",$d);}
in der 99_myUtils.pm steht
package main;
use strict;
use warnings;
use POSIX;
sub myUtils_Initialize($$)
{
my ($hash) = @_;
my $NewMailtime = time;
}
sub CheckFrame($$)
{
my $name = shift;
my $frame = shift;
my $hash = $defs{$name};
if ($frame eq /T(\d+\.\d) K(\d+\.\d) A(\d+) B(\d+) P(\d+) O(\d+\.\d) S(\d+) R(\d+) V(\d+\.\d) P(\d+) Z(\d+) w(-\d+) x(-\d+) y(-\d+) z(-\d+)\r\n/){
readingsSingleUpdate($hash, "Laufzeit",$1,1);
readingsSingleUpdate($hash, "Kesseltemp",$2,1);
readingsSingleUpdate($hash, "Abgas",$3,1);
readingsSingleUpdate($hash, "Brennkammer",$4,1);
readingsSingleUpdate($hash, "Primaerluefter",$5,1);
readingsSingleUpdate($hash, "Sekundaerluefter",$6,1);
readingsSingleUpdate($hash, "O2",$7,1);
readingsSingleUpdate($hash, "Ruecknahme",$8,1);
readingsSingleUpdate($hash, "Verlust",$9,1);
readingsSingleUpdate($hash, "Pumpe",$10,1);
readingsSingleUpdate($hash, "status",$11,1);
readingsSingleUpdate($hash, "CAN_T1",$12,1);
readingsSingleUpdate($hash, "CAN_T2",$13,1);
readingsSingleUpdate($hash, "CAN_T3",$14,1);
readingsSingleUpdate($hash, "CAN_T4",$15,1);
Log3 $hash,3,"Frame done.";
} else {
Log3 $hash,3,"-----------------> Unknown frame: $frame"
}
};
in der fhem.log steht
2015.01.12 20:10:57 1: Including fhem.cfg
2015.01.12 20:10:58 3: telnetPort: port 7072 opened
2015.01.12 20:10:59 3: WEB: port 8083 opened
2015.01.12 20:10:59 3: WEBphone: port 8084 opened
2015.01.12 20:10:59 3: WEBtablet: port 8085 opened
2015.01.12 20:10:59 2: eventTypes: loaded 85 events from ./log/eventTypes.txt
2015.01.12 20:10:59 3: Opening FlammTronik device /dev/ttyUSB0
2015.01.12 20:11:00 3: Setting FlammTronik baudrate to 38400
2015.01.12 20:11:00 3: FlammTronik device opened
2015.01.12 20:11:00 1: Including ./log/fhem.save
2015.01.12 20:11:00 1: statefile: Please define SVG_FlamLog_1 first
2015.01.12 20:11:00 1: usb create starting
2015.01.12 20:11:02 3: Probing CUL device /dev/ttyAMA0
2015.01.12 20:11:03 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.01.12 20:11:03 3: Probing FRM device /dev/ttyAMA0
2015.01.12 20:11:08 1: usb create end
2015.01.12 20:11:08 2: Error messages while initializing FHEM: statefile: Please define SVG_FlamLog_1 first
2015.01.12 20:11:08 0: Server started with 12 defined entities (version $Id: fhem.pl 6913 2014-11-08 10:32:44Z rudolfkoenig $, os linux, user fhem, pid 29688)
2015.01.12 20:11:08 3: -----------------> Unknown frame: T275.1 K80.9 A162 B01500 P070 O04.4 S001 R000 V07.4 P1 Z002 w--- x--- y--- z---
2015.01.12 20:11:08 1: PERL WARNING: Use of uninitialized value $s in substitution (s///) at fhem.pl line 3835.
2015.01.12 20:11:08 1: PERL WARNING: Use of uninitialized value $s in substitution (s///) at fhem.pl line 3837.
2015.01.12 20:11:08 1: PERL WARNING: Use of uninitialized value $s in substitution (s///) at fhem.pl line 3839.
2015.01.12 20:11:08 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/67_ECMDDevice.pm line 177.
2015.01.12 20:11:08 1: PERL WARNING: Use of uninitialized value $value in concatenation (.) or string at ./FHEM/67_ECMDDevice.pm line 397.
2015.01.12 20:11:10 3: -----------------> Unknown frame: T275.2 K80.9 A162 B01500 P070 O04.6 S001 R000 V07.4 P1 Z002 w--- x--- y--- z---
2015.01.12 20:11:15 3: -----------------> Unknown frame: T275.3 K80.9 A162 B01500 P070 O04.8 S000 R000 V07.5 P1 Z002 w--- x--- y--- z---