Einbindung der kostengünstigen Funkschaltsteckdose PCA 301 mit Energiemessung

Begonnen von Emil, 13 März 2013, 11:22:35

Vorheriges Thema - Nächstes Thema

JoWiemann

Hallo Andre,

ich habe Dir beide Versionen beigefügt. Das Verhalten ist reproduzierbar. Ich mache nichts anderes als die jeweilige JeeLink.pm ins FHEM-Verzeichnis zu stellen und FHEM neu zu starten. Mit der aktuellen Version -> kein Senden. Mit der aus fhem-5.5.tar.gz -> Senden Ok.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

justme1968

und zwischendurch gab es keine version die funktioninert hat?

ich dachte es gab eine. oder schmeisse ich jetzt etwas durcheinander?

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

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

justme1968

mir fällt gerade auf das die alte version bei dir keine init seqenz sendet. (die SW: ganz am anfang). sehr komisch.

ich schau mir das heute abend an. setz mal initCommands auf etwas kurzes. z.b. nur q. ändert sich etwas?

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

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

joshi04

Hallo zusammen,

hier eine Version, die von der ID her dazwischen liegt:
# $Id: 36_JeeLink.pm 5999 2014-05-29 10:03:42Z justme1968 $

Ich schaue gleich noch einmal was das Log bei mir sagt und hänge den hier an.

Es geht doch um diese Problem von Jörg und nicht um La Crosse, oder? Vielleicht habe ich etwas verpasst.
Zitat von: JoWiemann am 04 Juni 2014, 12:07:05
leider habe ich wieder das Problem, das mit der aktuellen 36_JeeLink.pm die PCAs nicht auf Sendebefehle reagieren.

Schöne Grüße,
John
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

JoWiemann

Hallo John,

La Croose ist außen vor.

Mit Deiner "Zwischenversion" leider auch kein Erfolg.

Ich bin jetzt das Repository Version für Version durchgegangen und ab:

[r4201] (14.1 kB) by U justme1968 fixed ec3000 initialization 2013-11-10 21:26:49

tritt das Problem auf. Vielleicht hilfts ja weiter.

Grüße und vielen Dank Jörg

Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

joshi04

Hallo Jörg,

das ist ja unschön. Anbei noch einmal mein Log mit verbose 5.

Zur Perl Version sagt meine Kommandozeile dieses:
This is perl 5, version 14, subversion 2 (v5.14.2) built for arm-linux-gnueabihf-thread-multi-64int
(with 88 registered patches, see perl -V for more detail)

Habe gelesen, dass das nicht immer das gleiche sein muss, mit dem, was fhem verwendet.
Gibt es in fhem eine Möglichkeit zu schauen, welches die verwendete Perl-Version ist? Habe auf die Schnelle nicht gefunden.

Sorry, hier läuft es.

Schöne Grüße,
John
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

JoWiemann

Hallo John,

Perlversion ist:
This is perl 5, version 14, subversion 2 (v5.14.2) built for arm-linux-gnueabihf-thread-multi-64int
(with 88 registered patches, see perl -V for more detail)

also identisch mit Deiner Version.

Ich habe die letzte funktionierende Version mit der ersten nicht funktionierenden verglichen.

Geändert wurde:
#####################################
sub
JeeLink_DoInit($)
{
  my $hash = shift;
  my $name = $hash->{NAME};
  my $err;
  my $msg = undef;

  my $val;

  #JeeLink_Clear($hash);

  JeeLink_SimpleWrite($hash, "1a" ); # led on
  JeeLink_SimpleWrite($hash, "1q" ); # quiet mode
  JeeLink_SimpleWrite($hash, "0x" ); # hex mode off
  JeeLink_SimpleWrite($hash, "0a" ); # led off

  JeeLink_SimpleWrite($hash, "l");   # list known devices

  $hash->{STATE} = "Initialized";

  # Reset the counter
  delete($hash->{XMIT_TIME});
  delete($hash->{NR_CMD_LAST_H});
  return undef;
}


in

#####################################
sub
JeeLink_DoInit($)
{
  my $hash = shift;
  my $name = $hash->{NAME};
  my $err;
  my $msg = undef;

  my $val;

  #JeeLink_Clear($hash);

  $hash->{STATE} = "Initialized";

  # Reset the counter
  delete($hash->{XMIT_TIME});
  delete($hash->{NR_CMD_LAST_H});
  return undef;
}


und

sub
JeeLink_Parse($$$$)
{
  my ($hash, $iohash, $name, $rmsg) = @_;

  my $dmsg = $rmsg;
  #my $l = length($dmsg);
  my $rssi;
  #my $rssi = hex(substr($dmsg, 1, 2));
  #$rssi = ($rssi>=128 ? (($rssi-256)/2-74) : ($rssi/2-74));
  my $lqi;
  #my $lqi = hex(substr($dmsg, 3, 2));
  #$dmsg = substr($dmsg, 6, $l-6);
  #Log3, $name, 5, "$name: $dmsg $rssi $lqi";

  next if(!$dmsg || length($dmsg) < 1);            # Bogus messages
  return if($dmsg =~ m/^Available commands:/ );    # ignore startup messages
  return if($dmsg =~ m/^  / );                     # ignore startup messages
  return if($dmsg =~ m/^-> ack/ );                 # ignore send ack

  if($dmsg =~ m/^\[/ ) {
    $hash->{VERSION} = $dmsg;

    return;
  }


in

sub
JeeLink_Parse($$$$)
{
  my ($hash, $iohash, $name, $rmsg) = @_;

  my $dmsg = $rmsg;
  #my $l = length($dmsg);
  my $rssi;
  #my $rssi = hex(substr($dmsg, 1, 2));
  #$rssi = ($rssi>=128 ? (($rssi-256)/2-74) : ($rssi/2-74));
  my $lqi;
  #my $lqi = hex(substr($dmsg, 3, 2));
  #$dmsg = substr($dmsg, 6, $l-6);
  #Log3, $name, 5, "$name: $dmsg $rssi $lqi";

  next if(!$dmsg || length($dmsg) < 1);            # Bogus messages
  return if($dmsg =~ m/^Available commands:/ );    # ignore startup messages
  return if($dmsg =~ m/^  / );                     # ignore startup messages
  return if($dmsg =~ m/^-> ack/ );                 # ignore send ack

  if($dmsg =~ m/^\[/ ) {
    $hash->{VERSION} = $dmsg;

    if( $dmsg =~m /pcaSerial/ ) {
      JeeLink_SimpleWrite($hash, "1a" ); # led on
      JeeLink_SimpleWrite($hash, "1q" ); # quiet mode
      JeeLink_SimpleWrite($hash, "0x" ); # hex mode off
      JeeLink_SimpleWrite($hash, "0a" ); # led off
      JeeLink_SimpleWrite($hash, "l" );  # list known devices
    } elsif( $dmsg =~m /ec3kSerial/ ) {
      JeeLink_SimpleWrite($hash, "ec", 1);
    }

    return;
  }


Die Initialisierung für den PCA ist also von JeeLink_Clear nach JeeLink_Parse gewandert.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

joshi04

Hm,
habe gerade mit gleicher Konf auch nochmal auf dem RPi probiert, da hier die USB-Schnittstelle immer ein wenig instabil war. Der Jeelink lief bei mir am RPi auch nicht immer so stabil.

Bei diesem Test lief das leider aber ohne Probleme. Allerdings hatte ich bis auf den WLan-Stick auch nur den Jeelink dran, ohne Hub direkt am RPi.
Vielleicht probierst Du bei Dir noch einmal eine Minimal-Konfigurtion, um Seiteneffekte aus schließen zu können. Ich weiß nicht, was bei Dir sonst nach dran hängt und wie.
Das ist aber nur eine Vorsichtsmaßnahme und beruht auf gefährlichem Halbwissen.

Da ich das bei mir hier derzeit nicht reproduzieren kann, bin ich bis auf Weiteres erstmal raus. Sorry.

Schöne Grüße,
John
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

justme1968

ja. die initialisierung ist gewandert weil es sonst mit den anderen sketches und vokalem dem ec3000 modul nicht kompatibel ist. das fhem modul darf erst senden nach dem sich der jeelink von sich aus gemeldet hat.

das tut er aber bei dir laut log file.

laut deinem log file wird die init sequenz bei der alten version aber garnicht gesendet. und das sollte nicht sein.

hast du mal den vorschlag von oben probiert? also initCommands nur auf q zu setzen? dann sollte auch nur noch das q im log auftauchen.

gruss
  andre


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

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

JoWiemann

Hallo Andre

habe jetzt initCommands auf q gesetzt und das Senden funktioniert.

define myJeePCA JeeLink /dev/ttyUSB1@57600
attr myJeePCA initCommands q


Grüße Jörg

Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

justme1968

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

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

JoWiemann

Hallo Andre,

den JeeLink-Clone (http://forum.fhem.de/index.php/topic,21995.msg154474.html#msg154474) haben ich im Moment noch an meinem Testsystem hängen:

RPi Revision B, aktuelles Wheezy.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

justme1968

kannst du mal versuchen die initCommands länger zu machen? also mehr paramtere dazu zu nehmen. das Frequenz setzen sollte damit jetzt auch gehen.


hat noch jemand den clone im einsatz und probleme mit dem senden?

hat jemand ein original im einsatz und probleme mit dem senden?

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

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

JoWiemann

Hallo Andre,

wenn ich initCommands setze, funktioniert alles, außer wenn folgenden Command benutze:

0x -- gibt es im PCA-Sketch nicht, somit ist der Init
        JeeLink_SimpleWrite($hash, "0x" ); # hex mode off

dann auch nicht richtig.

Ich habe die Zeile auskommentiert, und siehe da, es funktioniert auch ohne attr ... initCommands.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

justme1968

die 0x war mal ganz am anfang für die aller erste sketch version nötig. das hex format ist später dann aber rausgeflogen.

wenn ein kommando gesendet wird das der sketch nicht kennt sollte aber eigentlich nichts weiter passieren bzw. das problem sollten noch mehr haben.

das die alte sketch version bei dir ging ist auch mehr oder weniger zufall. die init sequenz wird da nicht gesendet.

das ganze ist also immer noch komisch.

ich hab das 0x mal aus dem modul raus genommen. mal sehen was passiert...

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

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