Neues Modul readingsGroup

Begonnen von Niko, 24 August 2013, 11:59:11

Vorheriges Thema - Nächstes Thema

bytebold

Hallo zusammen,

ich wollte mir eine Anrufliste der Fritzbox anzeigen lassen. Hab die von Elektrolurch bereitgestellte Datei mit den Beispielen eingetragen.
Es werden mir aber keine Anrufe angezeigt, nur die Dauer und entsprechende Pfeile für incoming oder outgoing.

Im Logfile finde ich folgende Einträge:
2013.12.02 22:02:36 1: CustomGetFileFromURL nginx: malformed or unsupported URL
2013.12.02 22:02:36 3: Call_Notify return value: Undefined subroutine &main::EventZeit called at /usr/local/FHEM/share/fhem/FHEM/99_myUtilsTelefon.pm line 200.

2013.12.02 22:02:46 3: Call_Notify return value: Undefined subroutine &main::sig2_break called at /usr/local/FHEM/share/fhem/FHEM/99_myUtilsTelefon.pm line 120.

syswrite() on closed filehandle GEN335 at /usr/local/FHEM/bin/fhem.pl line 522.


Hat jemand eine Idee, woran das liegen könnte ? Fehlt da irgendwas ?
Vielen Dank.

Gruß, bytebold

PS: Ich tu mich leider immer noch sehr schwer mit Programmierung in FHEM bzw. Perl.
fhem auf Synology DS112+
HM-Lan Konfigurationsadapter
2x Wago 750-881 Feldbuscontroller
Fernbedienung RC-19

Elektrolurch

Hallo,

zu den Meldungen:
2013.12.02 22:02:36 1: CustomGetFileFromURL nginx: malformed or unsupported URL
1. Check mal unter dem eingerichteten Device Deiner Fritzbox (Callmonitor) bei den Attributen, ob da reverse-lookup eingeschaltet ist. Ansonsten bekommst Du keine Namen angezeigt.
2. In dem Modul FBCallMonitor ist allerdings auch wohl noch ein Fehler, denn wenn der CallMonitor im Internet keine Telefonnummer rückwärts auflösen kann (liefert dann für den Namen "unknown"), habe ich diese Meldung auch im log-File.

2013.12.02 22:02:36 3: Call_Notify return value: Undefined subroutine &main::EventZeit called at /usr/local/FHEM/share/fhem/FHEM/99_myUtilsTelefon.pm line 200.

Sorry, die Routine "EventZeit" steht bei mir im 99_myUtils.pm - Modul. Hatte ich aber, so glaube ich, in dem Post, in dem ich das 99_myUtilsTelefon - Modul eingestellt habe, oder einen post später noch "nachgeschoben.
Die Routine liefert nur die aktuelle Zeit im Format hh:mm:ss dd.mm.yyyy zurück.
Habe leider die SW nicht hier...


2013.12.02 22:02:46 3: Call_Notify return value: Undefined subroutine &main::sig2_break called at /usr/local/FHEM/share/fhem/FHEM/99_myUtilsTelefon.pm line 120.
Die Routine "sig2" brauchst Du nicht, die kannst Du aus dem Code auskommentieren. Ich lasse mir den  Anrufnamen auf einem FS20 SIG2 Signalgeber ausgeben.

syswrite() on closed filehandle GEN335 at /usr/local/FHEM/bin/fhem.pl line 522.

Da wurde etwas in der fhem.pl von Rudolf König umgestellt. Die Meldungen bbekomme ich sporadisch auch, ohne dass ich sie genau einem Ereignis zuordnen könnte.

Gruß

Elektrolurch
configDB und Windows befreite Zone!

bytebold

Hallo,

vielen Dank, klappt jetzt.
Ich habe nun eine 99_myUtils angelegt, in der sich EventZeit befindet, Sig2 habe ich auskommentiert.
Das Telefonbuch von der Fritzbox liegt nun auch auf der Synology Diskstation, muß ich aber noch testen.

Gruß, bytebold
fhem auf Synology DS112+
HM-Lan Konfigurationsadapter
2x Wago 750-881 Feldbuscontroller
Fernbedienung RC-19

doddl

Hallo Elektrolurch,

ich habe mir Dein Modul aus Post #91 runtergeladen und meine .cfg angepasst. Soweit funktioniert auch alles. Das Modul FB_CALLMONITOR schreibt die readings in die LogFile und schiebt die Einträge auch immer eins weiter. Im Event Monitor sieht es m.E. auch gut aus:

Events:
2013-12-04 22:58:32 FB_CALLMONITOR meineFB event: ring
2013-12-04 22:58:32 FB_CALLMONITOR meineFB external_number: 01609999999
2013-12-04 22:58:32 FB_CALLMONITOR meineFB external_name: Tommy
2013-12-04 22:58:32 FB_CALLMONITOR meineFB internal_number: 11111111
2013-12-04 22:58:32 FB_CALLMONITOR meineFB external_connection: SIP0
2013-12-04 22:58:32 FB_CALLMONITOR meineFB call_id: 0
2013-12-04 22:58:33 FB_CALLMONITOR meineFB event: disconnect
2013-12-04 22:58:33 FB_CALLMONITOR meineFB call_duration: 0
2013-12-04 22:58:33 FB_CALLMONITOR meineFB missed_call: 01609999999 (Tommy)
2013-12-04 22:58:33 FB_CALLMONITOR meineFB call_id: 0
2013-12-04 22:58:33 FB_CALLMONITOR meineFB A4: ->
2013-12-04 22:58:33 FB_CALLMONITOR meineFB B4: 20:11:02 3.12.2013
2013-12-04 22:58:33 FB_CALLMONITOR meineFB C4: Tommy
2013-12-04 22:58:33 FB_CALLMONITOR meineFB D4: 01609999999
2013-12-04 22:58:33 FB_CALLMONITOR meineFB E4: 0:00
2013-12-04 22:58:33 FB_CALLMONITOR meineFB A3: ->
2013-12-04 22:58:33 FB_CALLMONITOR meineFB B3: 20:41:35 3.12.2013
2013-12-04 22:58:33 FB_CALLMONITOR meineFB C3: Tommy
2013-12-04 22:58:33 FB_CALLMONITOR meineFB D3: 01609999999
2013-12-04 22:58:33 FB_CALLMONITOR meineFB E3: 0:00
2013-12-04 22:58:33 FB_CALLMONITOR meineFB A2: ->
2013-12-04 22:58:33 FB_CALLMONITOR meineFB B2: 20:42:21 3.12.2013
2013-12-04 22:58:33 FB_CALLMONITOR meineFB C2: Tommy
2013-12-04 22:58:33 FB_CALLMONITOR meineFB D2: 01609999999
2013-12-04 22:58:33 FB_CALLMONITOR meineFB E2: 0:00
2013-12-04 22:58:33 FB_CALLMONITOR meineFB A1: ->
2013-12-04 22:58:33 FB_CALLMONITOR meineFB B1: 21:20:57 3.12.2013
2013-12-04 22:58:33 FB_CALLMONITOR meineFB C1: Tommy
2013-12-04 22:58:33 FB_CALLMONITOR meineFB D1: 01609999999
2013-12-04 22:58:33 FB_CALLMONITOR meineFB E1: 0:00
2013-12-04 22:58:33 FB_CALLMONITOR meineFB A0: ->
2013-12-04 22:58:33 FB_CALLMONITOR meineFB B0: 22:58:32 4.12.2013
2013-12-04 22:58:33 FB_CALLMONITOR meineFB C0: Tommy
2013-12-04 22:58:33 FB_CALLMONITOR meineFB D0: 01609999999
2013-12-04 22:58:33 FB_CALLMONITOR meineFB E0: 0:00


Hier auch noch der Teil aus meiner config:

define meineFB FB_CALLMONITOR 192.168.178.1
attr meineFB local-area-code 0621
attr meineFB reverse-search all
attr meineFB room FritzBox
attr meineFB userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 B0 B1 B2 B3 B4 C0 C1 C2 C3 C4 D0 D1 D2 D3 D4 E0 E1 E2 E3 E4
attr meineFB verbose 0

define FileLog_meineFB FileLog ./log/meineFB-%Y.log meineFB
attr FileLog_meineFB logtype text
attr FileLog_meineFB room FritzBox

define Call_Notify notify meineFB:.* { \
  TelefonMonitor ($EVENT);; \
}
attr Call_Notify room FritzBox
# end Call_Notify

################################
# Neue Version:

define Anrufliste readingsGroup meineFB:A0,B0,C0,D0,E0 meineFB:A1,B1,C1,D1,E1 meineFB:A2,B2,C2,D2,E2 meineFB:A3,B3,C3,D3,E3 meineFB:A4,B4,C4,D4,E4
attr Anrufliste fp_Info 625,299,5,
attr Anrufliste mapping {'meineFB.A0' => '1.', 'meineFB.A1' => '2.', 'meineFB.A2' => '3.', 'meineFB.A3' => '4.', 'meineFB.A4' => '5.'}
attr Anrufliste noheading 0
attr Anrufliste nolinks 0
attr Anrufliste nostate 0
attr Anrufliste notime 1
attr Anrufliste room FritzBox

Im LogFile gibt es keine Fehlermeldungen.

Ich bekomme es jetz aber nicht hin, das die Anrufliste die Einträge anzeigt, damit ich diese im FLOORPLAN anzeigen kann.

Als Anlage mal noch ein Screenshot der "leeren" Anrufliste.

Ich hoffe du kannst mir helfen.

Gruß Tommy

fiedel

Hi Tommy,

hast du die Datei "99_myUtilsTelefon.pm" in FHEM angelegt und danach "shutdown restart" durchgeführt? Die Datei erstellst du am Besten, in dem du die "99_myUtils.pm" oder "99_Utils.pm" per "Save as" -> "99_myUtilsTelefon.pm" umkopierst. Dann öffnest du die neu erzeugte "99_myUtilsTelefon.pm", leerst sie und kopierst den Inhalt der Datei dort hinein. Speichern, Restart, fertig.  ;)
Ich hab die Datei noch etwas zurechtgekürzt, damit im Log nicht so  viel Verwirrendes erscheint und wieder hier angehängt.

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

chicony

Hallo Frank,

leider habe ich auch ein paar probleme mit der "Anruferliste" :

1. longpoll funktioniert nicht, erst bei Browser refresh ist die Anrufliste vollständig.
2. bei eingehenden rückrufen gibt er den eigentlichen Anruf nochmal aus (zeit und datum identisch)

(//)

mfg
chicony

doddl

Hallo Frank,

danke für Deine Antwort.
Leider liegt es nicht daran. Ich habe nun zwar die 99_myUtilsTelefon noch mal neu mit deiner Version angelegt, aber das Ergebnis bleibt gleich.
Ich hätte gedacht, dass das Modul richtig läuft, da ja im Eventmonitor zu sehen ist, das die Einträge weiter geschoben werden, so wie es sein soll.
Mein Problem liegt denke ich eher in der Notify oder in der readingsGroup, denn wie im Anhang oben zu sehen, bleibt die angezeigte "Anrufliste" leer. Vielleicht könnt ihr noch mal über meine cfg und die rG schauen, ob ich hier etwas falsch eingetragen habe.

Vielen Dank für Eure Unterstützung.

Tommy

fiedel

#142
Sieht alles gut aus bei dir. Dieses kleine leere Feld hatte ich auch, als meine 99_myUtilsTelefon.pm noch nicht funktioniert hatte. Deshalb hab ich gleich darauf getippt. Vielleicht hilft dir ja ein Update? Hab meine RG gerade mal in einen FP gesetzt und geht. Nur ein Rahmen fehlt dann dort. Muss man ggf. noch etwas CSS dazustricken.

@chicony:

1.: Longpoll nutze ich leider nicht.

2.: Habe die Funktion auch erst heute eingebaut, werde ich mal beobachten. Ggf. teste und beschreibe mal genauer, damit es nachvollziehbar ist (Testablauf Schritt für Schritt und was dabei passiert).
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Billy

Hallo Andre,

ich versuche mit den readingsGroup einiges in der Darstellung meiner FHEM Oberfläche zu verbessern.
Die derzeitigen Möglichkeiten sind schon super. :)

Ist es möglich den Style für die Zitat:
Zitat<Eine Überschrift>
aus dem letzten Update
zu verändern? z.B unterstrichen, kursiv oder andere Farbe?

Gruss
Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

justme1968

klar geht das :).

du musst nur die formatierung in eine kleine funktion auslagern. am besten steckst du die in 99_myUtils.pm. z.b. so:sub                                                               
rgText($)                                                         
{                                                                 
  my ($txt) = @_;                                                 
  return "<div style='color:#00ff00;font-weight:bold;font-size:40px'>$txt</div>";
}


und dann mit <{rgText("Mein Text")} einbinden.

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

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

doddl

Hi Frank,

noch mal danke, aber FHEM ist aktuell. Anbei meine
Fhem info:
  Release  : 5.5
  Branch   : DEVELOPMENT
  OS       : linux
  Arch     : mips-linux
  Perl     : v5.12.2

Hat vielleicht noch jemand eine Idee?

Bin für jede Hilfe dankbar.

Tommy

justme1968

noch ein beispiel für eine mögliche verwendung von <...> findest du hier: http://forum.fhem.de/index.php/topic,14425.msg106767/topicseen.html#msg106767.

elektrolurch hat das inzwischen so weit ausgebaut das er mit den zusätzlichen links die readingsGroup steuert und z.b. umschalten kann was angezeigt wird.

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

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

Billy

Danke Andre :)

Das mit der Formatierung der Überschrift klappt super. ;D

Zitatklar geht das :).

du musst nur die formatierung in eine kleine funktion auslagern. am besten steckst du die in 99_myUtils.pm. z.b. so:

Gruss

Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

justme1968

mach mach mal ein paar beispiele und screenshots fürs wiki :)

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

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

Billy

Hallo Andre

Zitatmach mach mal ein paar beispiele und screenshots fürs wiki

Gerne, kannst du damit was anfangen?


Zugehöriger Eintrag in 99_myUtils.pm sieht so aus.
Zitatsub                                                               
rgText($)                                                         
{                                                                 
  my ($txt) = @_;                                                 
  return "<div style='color:#00ff00;font-family:verdana, sans-serif;font-weight:bold;font-style:italic;font-size:30px'>$txt</div>";
   #return "<div style='color:#00ff00;font-family:verdana, sans-serif;font-weight:bold;font-style:italic;font-size:30px'>$txt</div>";
}

Die Gesamtdefinition für das Beispiel Klima sieht dann aus wie in Anlage Reading Group Definition.png.

(//)

Gruss
Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*