Aktuelles TV-Programm in FHEM

Begonnen von Kuzl, 20 Oktober 2014, 20:41:43

Vorheriges Thema - Nächstes Thema

Germanboy4u

Hab das Helferein eingebunden ;)

Hat wer schon geschafft für 13th Street eine Abendsendung oder das Logo einzubinden?

coolice

Hallo, wollte mit define TVhelper TVhelper <TV_Programme> <TV_Programme_next> den TVhelper installieren. Ich bekomme nach dem Enter drücken aber nur TVhelper: define <Name> TVhelper <TVnow> <TVnext> angezeigt. Mehr passiert nicht. Mach ich was falsch?

Markus

Steht ja e da du musst noch den Namen Tv Programm und tv Programm next angeben oder wie es bei dir auch heißen mag
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Markus

Zitat von: Markus am 31 Januar 2015, 03:15:19
Steht ja e da du musst noch den Namen Tv Programm und tv Programm next angeben oder wie es bei dir auch heißen mag
Ohne Pfeile :D
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Elektrolurch

Zitat:
Ohne Pfeile :D

Schon mal CommandRef gelesen:

<Name> oder
[<Wert>],...

Kommt da bei JEDER Beschreibung von define vor....
configDB und Windows befreite Zone!

rasti

Hallo,

ich habe den Code von Markus und Simonberry (die lange Senderliste.....) bei mir eingespielt.
Läuft soweit wie es soll.

Bei mir läuft das Viera Modul, d.h. ich kann von FHEM aus meinen Panasonic Fernseher steuern.

Wäre schön, wenn man mit Klick auf das Senderlogo einen Befehl senden könnte, um auch
diesen Kanal einzuschalten.   d.h. set <myTV> <channel> [<Kanalnummer>]

Geht das, was ist dazu am Code zu ändern ?

Gruss

Ralf



Markus

@ rasti natürlich geht das  8)



##############################################################
# $Id: 99_Utils.pm 1932 2012-10-06 20:15:33Z ulimaass $                                                           #
#                        Markus 24.11.2014                                                                                                #
##############################################################
package main;

use strict;
use warnings;
use POSIX;

sub
TVsenderUtils_Initialize($$)
{
  my ($hash) = @_;
}


sub
switchChannel($)
{
  my %channellist = (
    anixe => '81',
    ard => '16',
    arte => '41',
    br => '49',
    deluxemusic => '62',
    disney => '11',
    dmax => '21',
    dreisat => '18',
    einsfestival => '2',
    einplus => '65',
    euronews => '60',
    hr => '51',
    kabel1 => '9',
    kika => '50',
    mdr => '3',
    n24 => '59',
    ndr => '48',
    nick => '39',
    ntv => '58',
    phoenix => '71',
    pro7 => '1',
    rbb => '53',
    rtl => '2',
    rtl1 => '2',
    rtl2 => '3',
    rtlnitro => '22',
    sat1 => '4',
    sat1gold => '30',
    servustv => '38',
    sixx => '32',
    superrtl => '12',
    swr => '54',
    tagesschau => '69',
    tele5 => '10',
    tlc => '2',
    viva => '19',
    vox => '5',
    wdr => '47',
    zdf => '17',
    zdfinfo => '66',
    zdfkultur => '70',
    zdfneo => '68',
    ORF1 => '6',
    ORF2 => '7',
    ORF3 => '8',
    ATV => '13',
    ATV2 => '14',
    PULS4 => '15',
    SOPHIATV => '20',
    Hitradiooe3 => '23',
    Folx => '24',
    ProSiebenMAXX => '27',
    TechTime => '28',
    RIC => '7',
    WeltDerWunder => '31',
  );
 
  my $TVDevice = 'TV channel';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  my @digits = split("", $channellist{$channel});
 
  foreach (@digits)
  {
    if ($command ne '')
    {
      $command = $command.'; ';
    }
    $command = $command.'set '.$TVDevice.' '.$_;
  }
 
  if ($command ne '')
  {
    $command = $command.'; set '.$TVDevice.' ENTER';
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
     fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
       fhem('attr '.$TVDevice.'.Senderwechsel.at room TV');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
1;
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

coolice


Zitat von: Markus am 31 Januar 2015, 03:15:19
Steht ja e da du musst noch den Namen Tv Programm und tv Programm next angeben oder wie es bei dir auch heißen mag
hab ich doch. Siehe Code


Gesendet von meinem iPhone mit Tapatalk

Markus

Schon klar ich hab deinen Code gesehen
Aber ließ dir doch die Antworten darauf nochmal durch
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

rasti

Hallo Markus,

habe versucht das einzubinden, geht aber (noch) nicht...ich komme nach wie vor auf die
Seite https://192.168.178.6:8083/fhem?detail=TV_Programme wenn ich aufs Logo klicke.

Ich habe deinen Code oben in 99_myUtilsTVswitcher.pm gespeichert und im FHEM Verzeichnis
mit Berechtigung 644 abgelegt. Zusätzlich in fhem.cfg noch folgendes gesetzt :

attr TV_Programm commands { ard => "{mlfunc_tv_switch(\"ard\")}", zdf => "{mlfunc_tv_switch(\"zdf\")}", arte => "{mlfunc_tv_switch(\"arte\")}", dreisat => "{mlfunc_tv_switch(\"dreisat\")}", pro7 => "{mlfunc_tv_switch(  ........... uswusw

Was anderes ist mir aufgefallen, ich habe mir mal den Log angeschaut, der ist voller Fehlermeldungen

2015.01.31 21:31:40 2: VIERA: defined with host: 192.168.178.9 and interval: 30
2015.01.31 21:31:52 1: Including ./log/fhem.save
2015.01.31 21:31:53 1: OWX: 1-Wire bus OneWireAdapter: interface master DS2480 re-detected
2015.01.31 21:31:53 1: usb create starting
2015.01.31 21:31:55 3: Probing CUL device /dev/ttyAMA0
2015.01.31 21:31:55 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.01.31 21:31:55 3: Probing FRM device /dev/ttyAMA0
2015.01.31 21:32:00 1: usb create end
2015.01.31 21:32:00 2: SecurityCheck:  telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.01.31 21:32:00 0: Server started with 66 defined entities (version $Id: fhem.pl 7609 2015-01-17 21:37:05Z rudolfkoenig $, os linux, user fhem, pid 4125)
2015.01.31 21:32:04 1: OWX: 1-Wire devices found on bus OneWireAdapter (Temperatur_Keller)
2015.01.31 21:34:22 3: TVhelper: found -> next time 21:35 disney
2015.01.31 21:34:22 3: Starte next timer for TVhelper:
define TVhelper_2135_at at 21:35:30 {TVhelper_Update("TVhelper");;}
2015.01.31 21:36:00 3: TVhelper: found -> next time 21:40 einsfestival
2015.01.31 21:36:00 3: Starte next timer for TVhelper:
define TVhelper_2140_at at 21:40:30 {TVhelper_Update("TVhelper");;}
2015.01.31 21:36:59 2: Undefined subroutine &main::mlfunc_tv_switch called at (eval 34) line 1.
2015.01.31 21:36:59 2: Undefined subroutine &main::mlfunc_tv_switch called at (eval 35) line 1.
2015.01.31 21:36:59 2: Undefined subroutine &main::mlfunc_tv_switch called at (eval 36) line 1.
2015.01.31 21:36:59 2: Undefined subroutine &main::mlfunc_tv_switch called at (eval 37) line 1.


usw usw....die Fehlerliste geht weiter bis eval 113.
Gehe ich nicht auf die TV-Senderlistenseite in FHEM kommen keine Meldungen im Log.

Ist das normal ? Eigentlich läuft zumindest die Anzeige der Programme und die
werden auch ständig aktualisiert. Fällt einem Benutzer also auch nicht auf....

Was mache ich falsch ?

Gruss

Ralf


rasti

Hallo Markus,

ein paar Fehler habe ich bei mir gefunden.....

mlfunc_tv_switch ist wohl deine Funktion switchChannel

Wenn ich das aber nun ersetzte passiert folgendes


a) der Fernseher zappt mir alle 2 Minuten alle Programme durch
Dabei folgende Fehler im log:
2015.01.31 23:38:08 2: VIERA: defined with host: 192.168.178.9 and interval: 30
2015.01.31 23:38:21 1: Including ./log/fhem.save
2015.01.31 23:38:22 1: OWX: 1-Wire bus OneWireAdapter: interface master DS2480 re-detected
2015.01.31 23:38:27 3: VIERA: Set channel 1
2015.01.31 23:38:27 3: VIERA: Set channel 6
2015.01.31 23:38:27 1: PERL WARNING: Argument "enter" isn't numeric in numeric lt (<) at ./FHEM/70_VIERA.pm line 208.
2015.01.31 23:38:27 3: set TV channel 1; set TV channel 6; set TV channel ENTER : VIERA: Channel is too high or low!
2015.01.31 23:38:27 3: VIERA: Set channel 1
2015.01.31 23:38:27 3: VIERA: Set channel 7
2015.01.31 23:38:27 3: set TV channel 1; set TV channel 7; set TV channel ENTER : VIERA: Channel is too high or low!
2015.01.31 23:38:27 3: VIERA: Set channel 4
2015.01.31 23:38:28 3: VIERA: Set channel 1
2015.01.31 23:38:28 3: set TV channel 4; set TV channel 1; set TV channel ENTER : VIERA: Channel is too high or low!


b) Wenn ich aufs Senderlogo klicke komme ich weiterhin auf /fhem?detail=TV_Programme
c) Das aktuelle Programm der Sender erscheint als Hyperlink. Klick drauf führt aber zu gar nichts

Ich habe erstmal das attr TV_Programm commands { ard => "{mlfunc_tv_switch(\"ard\")}", zdf => "{mlfunc_tv_switch(\"zdf\")}", arte => "{mlfunc_tv_switch(\"arte\")}", dreisat => "{mlfunc_tv_switch(\"dreisat\")}", pro7 => "{mlfunc_tv_switch(  ........... uswusw
in fhem.cfg auskommentiert, damit man weiter fernsehen kann ....

Asche auf mein Haupt aber so ist das nun mal, wenn man nicht programmieren
sondern nur in fremden Programmen rumpfuschen kann.

Aber vielleicht hilfst du mir trotzdem weiter......

Gruss

Ralf


Markus

Bei mir funktioniert es wenn ich auf den Programm Namen klicke nicht auf das logo
Ich hab auch viera und wenn du meine cfg auch hast musste es eigentlich funktioniert

Hat jemand noch andere Sender als ich eingebunden?
Wäre cool wenn's hier veröffentlicht werden, mir fehlen noch einige

Gruss Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Germanboy4u

Moin :) Ich bin dabei einige sender einzubinden.

Hier mein akt. Stand :)

Sobald die Bilder passen und halbwegs alle sender drinnen sind, gebe ich euch den Code :)

rasti

Hallo Markus,

vielleicht könntest du mal deinen aktuellen Stand der FHEM.cfg (also den TV-Teil ntürlich nur)
posten, ich habe mir meine Konfiguration aus verschiedenen Posts rausgeholt und da ist
vermutlich was schiefgelaufen....

Insbesondere für mich als Anfänger ist es hilfreich, alles zusammen zu haben.

Anbei mal die Konfiguration, die bei mir nicht läuft.... (Fehler wie in meinem vorigen Posting beschrieben)

Gruss

Ralf

Tommy82

Zitat von: Germanboy4u am 01 Februar 2015, 09:31:16
Moin :) Ich bin dabei einige sender einzubinden.

Hier mein akt. Stand :)

Sobald die Bilder passen und halbwegs alle sender drinnen sind, gebe ich euch den Code :)

Das sind ja mal ne Menge Sender, da freu ich mich schon auf den kompletten Code:-)
Wo hast du die schönen Icons her?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI