EC3000 mit JeeNode/JeeLink

Begonnen von ext23, 04 November 2013, 19:25:34

Vorheriges Thema - Nächstes Thema

ext23

Nabend,

ich mach das mal jetzt hier rein weil das mit Wunschliste ja nichts mehr zu tun hat.

Ich bin gerade am spielen mit dem EC3000 und dem JeeNode. Lief jetzt knapp 1 Tag durch aber dann hat sich wohl der JeeNode aufgehangen. Ich werd mal schauen ob das morgen wieder passiert.

Ein Fehler: Das "InitJeeLink" für den JeeNode mit EC3000er Firmware funktioniert nicht, da kommen Fehler zurück, da hilft nur ein Neustart von FHEM.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

karpate

Hallo Daniel,
kannst du in diesen Thread nochmal alle Vorrausetzungen bzw. Schritte einfügen, um die EC3000 mit FHEM nutzen zu können?

Wie verhält es sich mit der Reichweite? Habe schhon von verschiedenen Erfahrungen gelesen.

Danke und Gruß ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

justme1968

schau mal hier hat der original post: http://forum.fhem.de/index.php/topic,11648.msg92019.html#msg92019

im wiki findest du unter jeelink auch etwas.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

karpate

Danke andre,

diesen wiki-Eintrag kannte ich noch nicht.

Bezüglich Reichweite, sind Probleme bekannt?

Danke und Gruß ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

My-FHEM

#4
@ext23

Die Probleme mir der EC3000er Firmware habe ich auch. Als work around habe ich folgende Modifikation der 36_JeeLink.pm
gemacht.:


sub
JeeLink_Set($@)
{
  my ($hash, @a) = @_;

  my $name = shift @a;
  my $cmd = shift @a;
  my $arg = shift @a;
  my $arg2 = shift @a;

  my $list = "raw:noArg";
  $list .= " EC3000Init:noArg";
  $list .= " LaCrossePairForSec";
  return $list if( $cmd eq '?' );

  if($cmd eq "raw") {
    #return "\"set JeeLink $cmd\" needs exactly one parameter" if(@_ != 4);
    #return "Expecting a even length hex number" if((length($arg)&1) == 1 || $arg !~ m/^[\dA-F]{12,}$/ );
    Log3 $name, 4, "set $name $cmd $arg";
    JeeLink_SimpleWrite($hash, $arg);
  } elsif( $cmd eq "EC3000Init" ) {
    $arg = "ec";
    Log3 $name, 4, "set $name $cmd $arg";
    JeeLink_SimpleWrite($hash, $arg);

  } elsif( $cmd eq "LaCrossePairForSec" ) {
    return "Usage: set $name LaCrossePairForSec <seconds_active> [ignore_battery]" if(!$arg || $arg !~ m/^\d+$/ || ($arg2 && $arg2 ne "ignore_battery") );
    $hash->{LaCrossePair} = $arg2?2:1;
    InternalTimer(gettimeofday()+$arg, "JeeLink_RemoveLaCrossePair", $hash, 1);

  } else {
    return "Unknown argument $cmd, choose one of ".$list;
  }

  return undef;
}


und in der fhem.cfg


define my_WattEC JeeLink /dev/jeeEC3@57600
set my_WattEC EC3000Init



Dh. Ich sende per set den Befehl ec an den node. Damit geht er in den Empfangsmode.
und alles funktioniert. Ist aber nur ein dirty Hack. Meine FHEM Perl Kenntnisse reichen für mehr nicht aus.

Vielleicht hilft es und jemand schaut sich das Problem genauer an.

Grüße

justme1968

das InitJeeLink hat zur zeit nur die richtigen paramter für den pca301 sketch.

um ein ec zu senden kannst du aber einfach set my_WattEC raw ec angeben. du musst das fhem modul gar nicht anfassen.

des sketch von oliver sollte aber eigentlich keine extra initialisierung brauchen. ich schaue mir das noch mal an.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

My-FHEM

#6
Ja so hätte ich es auch versucht. aber bei raw gibt es im in der Webgui kein parameter Feld.

Als direkt eingebener Befehl versuche ichs noch mal.  Geht ! Mein Hack ist also überflüssig!

Wenn ich es richtig verstanden habe sollte der sketch beim start den ec modus
selbst starten. Macht er aber wohl nicht zuverlässig.

Grüße

ChrisD

Hallo,

Der Sketch startet automatisch den EC-Modus, allerdings schickt 36_JeeLink.pm beim Start die Initialisierung für die PCA301 wodurch der EC-Modus abgebrochen wird. Der set raw Befehl behebt dies in der Regel.

Im Moment schicke ich über ein notify auf global:INITIALIZED den set raw Befehl an den Jeelink.

Schön wäre es wenn 36_JeeLink ein Attribut vorsehen würde über das man den Typ festlegen könnte, ähnlich wie z.B. der rfmode beim CUL.

Grüße,

ChrisD

justme1968

ich repariere das.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

ich hab eben eine neue version vom 36_JeeLink.pm eingecheckt. damit sollte die initialisierung des ec3000 jeelink wieder automatisch funktionieren.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

My-FHEM

Das neue Modul habe ich gerade gestestet. Funktioniert bei mir nicht auf Anhieb.
Ich muss mehrere set raw ec u. set raw ec \n senden um in  die richtige Sequenz für den
sketch zu kommen.

Grüße

justme1968

bitte setz mal verbose für das jeelink device auf 5 und zieh den jeelink ab und steck ihn wider an.

was steht dann im log file?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

My-FHEM

#12
also es wird dauernd fogendes ins log geschrieben!
hört nicht auf


2013.11.09 17:21:11 5: JeeLink/RAW: >ec/
  R2 A679
  R3 C610
  R4 94A2
  R5 C2AC
  R6 CA8F
  R7 CEAA
  R9 C4D4

  drecvintr start t=82631810

drecvintr exit t=82631817 np=0
>ec
2013.11.09 17:21:11 5: my_WattEC dispatch >ec
2013.11.09 17:21:11 3: my_WattEC: Unknown code >ec, help me!
2013.11.09 17:21:11 5: SW:

2013.11.09 17:21:11 5: SW: ec
2013.11.09 17:21:11 5: JeeLink/RAW: >ec/
  R2 A679
  R3 C610
  R4 94A2
  R5 C2AC
  R6 CA8F
  R7 CEAA
  R9 C4D4

  drecvintr start t=82631840

drecvintr exit t=82631846 np=0
>ec
2013.11.09 17:21:11 5: my_WattEC dispatch >ec
2013.11.09 17:21:11 3: my_WattEC: Unknown code >ec, help me!
2013.11.09 17:21:11 5: SW:

2013.11.09 17:21:11 5: SW: ec
2013.11.09 17:21:11 5: JeeLink/RAW: >ec/
  R2 A679
  R3 C610
  R4 94A2
  R5 C2AC
  R6 CA8F
  R7 CEAA
  R9 C4D4

  drecvintr start t=82631867

drecvintr exit t=82631875 np=0
>ec
2013.11.09 17:21:11 5: my_WattEC dispatch >ec
2013.11.09 17:21:11 3: my_WattEC: Unknown code >ec, help me!
2013.11.09 17:21:11 5: SW:

2013.11.09 17:21:11 5: SW: ec
2013.11.09 17:21:11 5: JeeLink/RAW: >ec/
  R2 A679
  R3 C610
  R4 94A2
  R5 C2AC
  R6 CA8F
  R7 CEAA
  R9 C4D4

  drecvintr start t=82631895

drecvintr exit t=82631902 np=0
>ec
2013.11.09 17:21:11 5: my_WattEC dispatch >ec
2013.11.09 17:21:11 3: my_WattEC: Unknown code >ec, help me!
2013.11.09 17:21:11 5: SW:

2013.11.09 17:21:11 5: SW: ec
2013.11.09 17:21:11 5: JeeLink/RAW: >ec/
l


Scheint als käme der EC Befehl zu früh. und dann startet der Sketch neu und der folgende EC befehl ist wieder zu früh.

Grüße

justme1968

hast du noch irgendwelche von deine set raw aktiv? die tauchen immer noch im log auf.

die sollten alle weg.


gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

My-FHEM

#14
Also in fhem.cfg sind keine set raw EC.
Ich habe jetzt mal in fhem.cfg verbose auf 5 gesetzt und shutdown restart ausgeführt. Dann ergibt es folgendes.


2013.11.09 17:38:42 0: Server started with 101 defined entities (version $Id: fhem.pl 4099 2013-10-22 20:55:35Z rudolfkoenig $, os linux, user root, pid 10790)
2013.11.09 17:38:42 5: JeeLink/RAW: /1a
bad arg(s): 'ecec1a'
>1q
bad command: '1q'
>0x
bad command: '0x'
>0a
bad command: '0a'
>l
bad arg(s): 'l'
>
2013.11.09 17:38:42 5: my_WattEC dispatch 1a
2013.11.09 17:38:42 3: my_WattEC: Unknown code 1a, help me!
2013.11.09 17:38:42 5: my_WattEC dispatch bad arg(s): 'ecec1a'
2013.11.09 17:38:42 3: my_WattEC: Unknown code bad arg(s): 'ecec1a', help me!
2013.11.09 17:38:42 5: my_WattEC dispatch >1q
2013.11.09 17:38:42 3: my_WattEC: Unknown code >1q, help me!
2013.11.09 17:38:42 5: my_WattEC dispatch bad command: '1q'
2013.11.09 17:38:42 3: my_WattEC: Unknown code bad command: '1q', help me!
2013.11.09 17:38:42 5: my_WattEC dispatch >0x
2013.11.09 17:38:42 3: my_WattEC: Unknown code >0x, help me!
2013.11.09 17:38:42 5: my_WattEC dispatch bad command: '0x'
2013.11.09 17:38:42 3: my_WattEC: Unknown code bad command: '0x', help me!
2013.11.09 17:38:42 5: my_WattEC dispatch >0a
2013.11.09 17:38:42 3: my_WattEC: Unknown code >0a, help me!
2013.11.09 17:38:42 5: my_WattEC dispatch bad command: '0a'
2013.11.09 17:38:42 3: my_WattEC: Unknown code bad command: '0a', help me!
2013.11.09 17:38:42 5: my_WattEC dispatch >l
2013.11.09 17:38:42 3: my_WattEC: Unknown code >l, help me!
2013.11.09 17:38:42 5: my_WattEC dispatch bad arg(s): 'l'
2013.11.09 17:38:42 3: my_WattEC: Unknown code bad arg(s): 'l', help me!

Die Set raws waren manuel eingegebene. Es gab halt im EC3000 device der WEBGUI irgendwann gültige
device readings.

36_JEELINK sendet als init erstmal die PCA301 sequenze an den sketch. damit wird dieser gestoppt.
Ich habe mal manuel den sketch mit screen /dev/jeeEC3 57600 bedient
eine  Sequenz wäre h an sketch senden und dann auf [ec3kSerial.1] warten und dann ec senden.