Homematic wired

Begonnen von Henne1977, 26 Januar 2013, 22:46:00

Vorheriges Thema - Nächstes Thema

derHeimwerker

Nachtrag : auch ein normales 'on' oder 'off' bei den Rolläden funktioniert so nicht mehr.

gevoo

Hallo Harald,

das hängt mit der Umstellung von Groß- auf Kleinschreibung zusammen. Beim Rolloaktor geht es, weil der nur Großbuchstaben hat. Beim Dimmer ist es gemischt.
Hier die korrigierte Device.pm.

Gruß gevoo

gevoo

Hallo Thomas,

probiere es einmal damit.

Gruß gevoo

gevoo

Hallo Harald,

so einfach war es dann doch nicht. Hier noch einmal der komplette Satz.

Gruß gevoo

derHeimwerker

Hallo gevoo,

jetzt hört ein "level 0" oder "off" irgendwo zwischen 90% bei 75,3 % auf.

Ein "level 100" bzw. ein "on" jährt wieder richtig bis ganz nach oben.

Gruß
Thomas

Thorsten Pferdekaemper

Hi,
ich habe gerade mal meinem Testsystem ein Update verpasst und auch die neuste Wired-Anbindung draufgeklatscht. Es gibt bei mir immer noch ein Problem mit dem Starten des HM485d. Beim Versuch, das Teil neu zu starten, gibt es folgende Meldung:
Zitat
Start HM485d with command line: ./FHEM/lib/HM485/HM485d/HM485d.pl --serialNumber SGW0123456 --device 192.168.178.164:5000
HM485d Could not start
Das Problem liegt in der 00_HM485_LAN.pm:

sub HM485_LAN_HM485dGetPid($$) {
my ($hash, $HM485dCommandLine) = @_;
my $retVal = 0;

my $ps = 'ps axo pid,args | grep "' . $HM485dCommandLine . '" | grep -v grep';
my @result = `$ps`;

Anscheinend nimmt ps eine bestimmte Breite des Terminal-Windows an, in das nicht die ganze Commandline reinpasst. Abhilfe schafft die Commandline-Option "ww". D.h. folgendermaßen funktioniert's:

my $ps = 'ps axwwo pid,args | grep "' . $HM485dCommandLine . '" | grep -v grep';

Könnte das mal jemand in die "offizielle" Version übernehmen?
Danke&Gruß,
   Thorsten
FUIP

hglaser

#1011
Zitat von: gevoo am 22 März 2015, 13:14:44
so einfach war es dann doch nicht. Hier noch einmal der komplette Satz.
Hallo gevoo

uiuiui, da hab ich mal wieder was angerichtet :-)
ein "set HMW_LC_Dim1L_DR_JEQ0545966_03 level 0" funktioniert wieder
2015.03.22 13:27:35.474 3: HM485d: Tx: (190:1) I[3](0,F,B)(1E) 00000001 -> 00009266 [5] 78(x) 0200 {6BA0}
2015.03.22 13:27:35.493 3: HM485d: Rx: Response: (190) I[3](3,F,B)(7E) 00009266 -> 00000001 [6] 69(i) 020000 {5670}
2015.03.22 13:27:35.515 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 00009266 [2] {2EE8}

ein set HMW_LC_Dim1L_DR_JEQ0545966_03 level 0.5 funktioniert auch :-), sollte aber 50 sein.
2015.03.22 13:29:07.025 3: HM485d: Tx: (195:1) I[0](0,F,B)(18) 00000001 -> 00009266 [5] 78(x) 0264 {CF2E}
2015.03.22 13:29:07.048 3: HM485d: Rx: Response: (195) I[0](0,F,B)(18) 00009266 -> 00000001 [6] 69(i) 026400 {08BC}
2015.03.22 13:29:07.069 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 00009266 [2] {13A0}

und ein set HMW_LC_Dim1L_DR_JEQ0545966_03 level 1 funktioniert auch, sollte aber 100 sein.
2015.03.22 13:31:50.906 3: HM485d: Tx: (204:1) I[1](0,F,B)(1A) 00000001 -> 00009266 [5] 78(x) 02C8 {225A}
2015.03.22 13:31:50.945 3: HM485d: Rx: Response: (204) I[1](1,F,B)(3A) 00009266 -> 00000001 [6] 69(i) 02C800 {ADF4}
2015.03.22 13:31:50.954 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 00009266 [2] {F766}

Nur die Werte fürs FHEM Webinterface stimmen halt noch nicht ganz: 0=0, 0.5=50, 1=100, dann sollte, denke ich mal, auch wieder on und off gehen.
Brauchst Du irgendwelche Logs, oder soll ich wieder den Testserver-zugang freischalten?

lg Harald.

mc309

Hallo gevoo,
ich habe gerade mal on-for-timer für die Relaisausgänge als auch für die open-collector Ausgänge getestet - beides
ist ohne Funktion (weder Einschalten noch ein Ausschalten). Kann das jemand bestätigen ?

Gruß,
Michael

gevoo

Hallo Harald,

für Dimmer mit einem Levelbereich von 0..100 brauchst Du nachfolgendes Devicefile.

Gruß gevoo

gevoo

Hallo Michael,

war noch nicht aktiviert. on-for-timer habe ich jetzt freigeschaltet. Ist noch nicht getestet. Verwendung auf eigene Gefahr.

Gruß gevoo

hglaser

hallo gevoo

Danke sehr, so herum gehts natürlich auch. Nur stimmts halt wieder nicht, sollte einmal ein neuer Dimmer von eq3 oder wem auch immer kommen und wir das xml File konvertieren wollen. dann müsste man das Device.pm wieder ändern.
Aber das hatten wir ja schon mal .... Ich bin dennoch dankbar das es hier wieder in die richtige Richtung geht und nun funktionierts.


lg Harald

mc309

#1016
Hallo gevoo,
ein on-for-timer über die Detailkonfig resultiert in einem unknown argument (siehe Anhang) - bei ON und OFF dasselbe.
Der Analogeingang am CH21 zeigt nun STATE_off in der Detailkonfig.

Gruß,
Michael

cjung

Hallo gevoo,

nachdem ich die heutigen Dateien eingespielt habe
Zitat von: gevoo am 22 März 2015, 13:14:44
Hier noch einmal der komplette Satz.
funktioniert bei mir das "Webcmd level" noch nicht. Wie bei anderen beschrieben gibt es nur Werte zwischen 0 - 1 und nicht zwischen 0 - 100.

Gruß
Christoph
Raspberry Pi 2 B
Funk: HM_CFG_USB2, HM-CFG-LAN 8*HM_CC_RT_DN, 3*HM-SEC-SD, 3*HM_TC_IT_WM_W_EU, 1*HM-LC-Dim1TPBU-FM,5*HM-SEC-SC-2, 1*HM-SEC-SCo
Wired: HMW: CFG-LAN, 8*LC_Bl1_DR, LC_Dim1L_DR

Thorsten Pferdekaemper

Hi,
bin ich hier auch richtig mit Problemen zum XML->PM-Wandler-Tool? Ich habe zwei Fehler gefunden:

1. Anscheinend braucht die FHEM-Integration im .pm-File sowas:

"values" => {
"parameter" => {
                          "temperature" => {
"conversion" => {
"factor" => 100,

D.h. den Namen des "values" unterhalb "Parameter".  Das Tool hat aber sowas draus gemacht:

"values" => {
"parameter" => {
"conversion" => {
"factor" => 100,
"type" => "float_integer_scale"
},
"id" => "temperature",
"logical" => {

D.h. temperature kommt nur als "id" vor, aber nicht sozusagen als Klammer um den Parameter.

2. Ich habe in meinem XML sowas stehen:

<parameter id="SEND_DELTA_TEMP">
   <logical type="float" unit="℃" default="0.5" min="0.1" max="25.0">

Man beachte das "℃", was ein Unicode-°C sein sollte.  Das Tool macht daraus folgendes:

"unit" => "\x{2103}"

Daraus wird dann in Perl anscheinend ein "echtes" Unicode-Zeichen. Das führt allerdings zum Absturz von FHEM mit der Meldung "Wide character in memGzip". (Siehe auch http://forum.fhem.de/index.php/topic,29939.0.html.)
Könnte man an dieser Stelle "einfach" das "℃" belassen? Ich vermute mal, dass das dann von den meisten Browsern richtig dargestellt würde.
Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
sorry, einen hab ich noch: Anscheinend kann die FHEM-HM485-Integration keine negativen Zahlen, siehe Anhang.
Mein Device schickt die Temperatur als 16Bit Integer. Das ist im XML so definiert:

<paramset type="VALUES" id="hmw_analog_input_values">
<parameter id="TEMPERATURE" operations="read,event">
<logical type="float" min="-273.15" max="327.67" unit="℃"/>
<physical type="integer" interface="command" value_id="TEMPERATURE">
<get request="LEVEL_GET" response="INFO_LEVEL"/>
<event frame="INFO_LEVEL"/>
</physical>
<conversion type="float_integer_scale" factor="100"/>
</parameter>
</paramset>

Wenn ich das in eine CCU packe, dann funktioniert das und -273.15 wird auch richtig angezeigt. In FHEM kommt aber 382.21 dabei heraus. Da 2^16 = (273.15 + 382.21) * 100, vermute ich mal das da der falsche Datenyp verwendet wird.
In das .pm-File wurde das hier reingeneriert:

"type" => "integer",

Das deutet ja auch auf "signed" hin, oder?
Gruß,
   Thorsten
FUIP