Fhem -> Samsung TV

Begonnen von mcbain2k, 25 Mai 2013, 11:45:13

Vorheriges Thema - Nächstes Thema

Gerhard

sorry,

ich habe noch einen kleinen Fehler gehabt, desshalb hier eine neue Version.

nochmal:

mit: define <name> STV <host> wird nur remote mode über 55000 gewählt

mit: define <name> STV <host> <port> wird nur message mode über <port> (52235 o. 7676) gewählt

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

fhainz

Hallo!

Gibt's eine Möglichkeit dem SamsungTV nach dem einschalten (schalte den TV immer mit einer fs20 sd komplett aus) die aktuelle Uhrzeit zu senden? Durch das wegnehmen der Spannung verliert er leider immer die Uhrzeit.

Grüße

Gerhard

Hallo fhainz,

ich schalte auch mein Samsung über ein FS20 ein/aus, aber die Uhrzeit ist bei mir immer aktuell.

vielleicht muss man irgend eine Einstellung in System vornrhmen?

übrigens @all:[/b
An manchen TV-Modellen muss der Messageempfang explizit vorher aktiviert werden:
       Menü "Anwendung" -> "Home-Network-Center" -> "Message"
       Menü "Einstellungen" -> "Netzwerk" -> "AllShare" -> "Meldungen"
       Menü "System" -> "Datendienst"

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

fhainz

Zitat von: Gerhard schrieb am So, 21 Juli 2013 14:02vielleicht muss man irgend eine Einstellung in System vornrhmen?
Hab ich schon durchgesehen und leider nichts gefunden. Das Automatische Uhrzeit einstellen funktioniert auch nicht.

Zitat von: Gerhard schrieb am So, 21 Juli 2013 14:02übrigens @all:[/b
An manchen TV-Modellen muss der Messageempfang explizit vorher aktiviert werden:
       Menü "Anwendung" -> "Home-Network-Center" -> "Message"
       Menü "Einstellungen" -> "Netzwerk" -> "AllShare" -> "Meldungen"
       Menü "System" -> "Datendienst"

Gerhard

Ich finde keine dieser Einstellungen :D Hab einen LE 46C750

Grüße

Gerhard

Hi,

Es gibt mittlerweile Firmware-Versionen, wo Samsung definitiv einen Riegel vorgeschoben hat und die
beiden Tasten "3Speed" und "Factory" via "Soft"-Fernbedienung im Service-Mode nicht mehr funktionieren!

Folgende Altrnativen könnten weiterhelfen:
- Firmware-Downgrade (siehe http://forum.samygo.tv/viewtopic.php?f=22&t=4199#p32144)
- "richtige" Samsung-Service-Fernbedienung benutzen
- Audio Player und eine Dual LED als Sender (siehe http://wiki.samygo.tv/index.php5/Remote_Control_emulator:_send_custom_IR_codes#Build_your_own_IR_transmitter)

also d.h. nicht alle firmware versionen unterstützen alles.
wie vorhin beschrieben, man kann über den Service-Menu einiges freischalten.

Fernseher in Service-Mode versetzen:
   - TV mit der Fernbedienung ausschalten, Taste "Power"
   - Jetzt folgende Tasten auf der Fernbedienung der Reihe nach drücken:
     1) "Info"
     2) "Menu"
     3) "Mute"
   - Jetzt den TV wieder einschalten, Taste "Power"

   -> Der TV startet jetzt, das Bild kommt und nach kurzer Zeit sollte dann das Service-Mode erscheinen

aber bitte vorsicht, mann kann damit einiges verstellen!!

um rauszufinden was geht und was nicht, mit ruSamsung experimentieren!
http://samsung.rainerullrich.de/

Gerhard

FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

mediastudio

Hallo, ich habe mal einen TV-COMMANDER für ein SAMSUNG smart-TV gemacht, kann man sicher auch für andere Geräte nutzen. Über scroll-button werden die Programme direkt angewählt und über die  Fernbedienung direkt weitere Funktionen ausgeführt.
Die Fernbedienung wird immer automatisch auf den oberen Bereich gescrollt.
Funktionsfähig und getestet  mit Firefox, Google Chrome. und Opera. Der IE ist nicht geeignet. Ich selbst benutze den Chrome.
Die IP-Adresse und der Kanal für das  Programm müssen in der  " TvListe.html  " nach eigenem Bedarf geändert werden. Kann man mit  dem Editor "Notepad++" Menu suchen und ersetzen schnell realisieren.

<li><a href="http://fritz.box[/b]:8083/fhem?cmd.STV1=set STV 1 " style="width:214px; "target="TvListe"><img src="http://fritz.box:8083/fhem/images/tv_082/ard.png" alt=""/>ARD</a>

Im Verzeichnis der FritzBox die beiden html-Dateien einfügen und das Verzeichnis " tv_082 " mit den icons anlegen
Ort:  /fritz.nas/fhem/www/images
TvListe.html
TvListeStart.html

Jetzt noch die TvListe.css einfügen unter pgm2
Ort: /fritz.nas/fhem/www/pgm2
TvListe.css


(siehe Anhang / see attachement)


Für die Funktion müssen auch folgende Einträge in die  cfg.
Es handelt sich hier wie schon beschrieben um das Modul #TV Fernbedienung

.cfg
###################################################################

define TV dummy
attr TV devStateIcon on:power.on off:power.off
attr TV eventMap B0:off BI:on
attr TV room TEST

define STV1 dummy
attr STV1 group TV
attr STV1 room TEST
attr STV1 webCmd HDMI:TV:CHUP:CHDOWN:POWEROFF:POWERON

define STV2 dummy
attr STV2 group TV
attr STV2 room TEST
attr STV2 webCmd MENU:UP:ENTER

define STV3 dummy
attr STV3 group TV
attr STV3 room TEST
attr STV3 webCmd LEFT:DOWN:RIGHT:EXIT

define n_STV notify STV.* { samsungtv($EVENT);; fhem("setstate $NAME .");; -1;;}

#TV Fernbedienung
#POWEROFF
define wz_tv1_poweroff dummy
attr wz_tv1_poweroff alias Power off
attr wz_tv1_poweroff eventMap on:an off:aus
attr wz_tv1_poweroff group TV
attr wz_tv1_poweroff room TEST

define act_on_wz_tv1_poweroff notify wz_tv1_poweroff {\
   {samsungremote('POWEROFF')} \
}

define STVremote weblink htmlCode {samsungremote("STV1")}
attr STVremote room TV

#####  für die TvListe  ###############

define TvListe weblink iframe http://...IP...:8083/fhem/images/TvListeStart.html
attr TvListe htmlattr width="850" height="800" frameborder="0" marginheight="0" marginwidth="0"
attr TvListe room TvListe

#################################

Seitenaufruf direkt
http://.....IP......:8083/fhem/images/TvListeStart.html



(siehe Anhang / see attachement)


Puschel74

Hallo,

ich bin leider im WIKI nicht fündig geworden aber ...

Gibt es eine Möglichkeit einen Samsung-TV abzufragen ob er eingeschaltet wurde?
Das Modul STV verwende ich - aber dort sehe ich nicht (oder ich hab wiedermal Tomaten auf den Augen) ob der Fernseher eingeschaltet ist.

Hintergrund: Ich hab am Fernseher eine LED-Hintergrundbeleuchtung dran was meinem Schatz mehr als nur sehr gut gefällt - der WAF ist grad mal steil nach oben gesprungen.
Lästig ist nur das sie die LED-Beleuchtung mit einer extra Fernbedienung einschalten muss (und auch wieder ausschalten).
Den WAF könnte ich natürlich noch ins astronomische treiben wenn FHEM erkennt das der Fernseher eingeschaltet wurde (oder ausgeschaltet).

Bei ersterem könnte ich per notify das LED-Licht einschalten und bei zweiterem wieder ausschalten.
Wenn das ganze dann auch mit dem Fernseher-internen Timer klappt - FHEM erkennt das Fernseher aus ist und dann die Beleuchtung abzuschalten wäre genial.

Wie gesagt - ich hab leider im Wiki (und im Forum) nichts gefunden - oder ich hatte mal wieder Tomaten auf den Augen.

Für ne kleine Hilfestellung wäre ich dankbar.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Gerhard

Hallo Puschel74,

da SamsungTV in Netz über LAN oder WIFI eingebunden ist, könnte man über ping oder PRESENCE Modul den Zustand feststellen, oder?

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Puschel74

Hallo,

jep. Das sollte gehen.
Der Fenrnseher meldet sich im Netz auch brav ab wenn er ausgeschaltet wird.
Ich dachte zwar eher an ein Reading in STV das auf on geht sobald der Fernseher eingeschaltet wurde (und auf off beim ausschalten) aber per ping bzw. PRESENCE sollte das auch gehen.

Dann werd ich mich mal dran machen und den Fernseher zyklisch auf seine "Anwesenheit" prüfen.

Danke für den Tipp.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

mi.ke

#69
meine WAF konnte ich mit dem TVbacklight auch extrem steigern   8)

weiterer Tip:
über sunset prüfe ich zusätzlich noch, ob's schon Dunkel ist,
das LED schaltet ein wenn Dunkel und TV angeschaltet wird
oder wenn TV schon an war, schaltet das LED nachträglich zu.

btw.
Nicht wundern, wenn Dein Samsung aufnimmt und ausgeschaltet ist, ist er über LAN-Ping present.


FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Puschel74

Hallo,

PERSENCE war der reichtige Tipp - danke nochmal.

Jetzt brauch ich nur noch einen FS20-->IR oder HM-->IR Umsetzer dann kann ich das "Backlight" auch über FHEM schalten.
Aber das ist eine andere Baustelle  8)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Neuling

Hallo zusammen

Vielen dank für dieses Modul und der Anleitung.

Bin noch ein sehr frischer neuling und hab keine Programmierkenntnisse aber konnte mir dank Euch was nettes basteln.

Ich konnte mir eine Art Sleeptimer Automation basteln:

define ntfy1 notify LEDTV:off sleep 0;; set Sammy TOOLS;;sleep 0;; set Sammy DOWN;;sleep 0;; set Sammy DOWN;;sleep 0;; set Sammy DOWN;;sleep 0;; set Sammy DOWN;;sleep 0;; set Sammy RIGHT;;sleep 0;; set Sammy DOWN;;sleep 0;; set Sammy DOWN;;sleep 0;; set Sammy ENTER;;sleep 0;; set Sammy EXIT

Dieses nötige bewirkt das wenn ich mein LED am Fernseh ausschalte eine Sleeptimer von 60min am Samsung ES6100 eingestellt wird.

Das hat den WAF enorm angehoben.  ;D
Intel NUC (ESXI) mit FHEM und IoBroker -> CUL868 -> LaCrosse GW -> Zigbee CC2530 + CC2531 -> Shelly2 –> Yeelight

Rince

#72

###### Zeitschaltung Fernseher aus
define tv_ZEITSCHALTER watchdog LEDTV:off 00:59:00 LEDTV:on set Sammy poweroff;; trigger tv_ZEITSCHALTER .


Hi Neuling,

evtl. ist obiger Code bequemer zu handeln, da man sich nicht händisch durch das TV Menü hangeln muss. Wenn du z.B. grade im EPG bist, würde dein Code vermutlich Unsinn machen ;)

Beachte bitte das Leerzeichen und den Punkt :)
Das führt mit dem Trigger dazu, dass beim nächsten Ausschalten der LED Lampe der Watchdog wieder aktiv wird.

(Hoffe es jedenfalls. Schlimmstenfalls versucht FHEM damit jede Stunde den Fernseher auszuschalten, was eine Fehlermeldung im Log produziert. In dem Fall, lass den Watchdog dann starten, wenn du die LED Lampe angeht)

Korrigiert:
set Sammy poweroff
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

pfeffi

Zitat von: UliM am 29 Mai 2013, 21:15:23
Hi,
zur Einrichtung der remote incl. frontend:
1.   Icons aus dem zip nach www/images/default
2.   set WEB rereadicons
3.   Routinen samsungtv($) (siehe oben), samsungremote($) und samsungremote_init() kopieren nach 99_myUtils.pm
4.   reload 99_myUtils.pm
5.   define notify n_STV  (siehe oben)
6.   define STV1 dummy (siehe oben)
7.   define STVremote weblink htmlCode {samsungremote("STV1")}
8.   attr STVremote room <Raum>
9.   STVremote kann auch in einen floorplan eingebunden werden

Es muss zunächst STV1 mit seinen buttons funktionieren (siehe oben).
Erst dann die Schritte ab 7 tun, um das frontend einzurichten.

Viel Spaß,
Uli


(siehe Anhang / see attachement)


PS: Im Moment werden die Trennblöcke in Firefox gut dargestellt, auf dem iPad produzieren sie ein hässliches Kasterl.
Wenn dazu jemand ne Lösung weiss, gerne her damit :)
Ggf $row[1], $row[6], $row[10] löschen und die Nummerierung anpassen, so dass sie durchgängig von null aufsteigend ist.


#### Samsung-TV remote frontend ########################################################################################################
# called by weblink htmlCode {samsungremote("<remotedevice>")}
sub
samsungremote_init() {
  my @row;
  $row[0]="POWEROFF,TV,HDMI";
  $row[1]="---";
  $row[2]="1,2,3";
  $row[3]="4,5,6";
  $row[4]="7,8,9";
  $row[5]=",0,PRECH";
  $row[6]="---";
  $row[7]="VOLUP,MUTE,CHUP";
  $row[8]="VOLDOWN,CH_LIST,CHDOWN";
  $row[9]="MENU,,GUIDE";
  $row[10]="---";
  $row[11]="TOOLS,UP,INFO";
  $row[12]="LEFT,ENTER,RIGHT";
  $row[13]="RETURN,DOWN,EXIT";
  # unused available commands
  # AD PICTURE_SIZE  SOURCE
  # CONTENTS W_LINK
  # RSS MTS SRS CAPTION TOPMENU SLEEP ESAVING
  # PLAY PAUSE REWIND FF REC STOP
  # PIP_ONOFF ASPECT
  return @row;
}
sub
samsungremote($) {
  my $stvdev = shift;
  my $stvhtml;
  my @row = samsungremote_init();
  $stvhtml='<table border="2" rules="none">';
  foreach my $rownr (0..$#row) {
    if ( ($row[$rownr] eq "---") && !$FW_tp ) {
   $stvhtml .= "<tr><td colspan=\"3\" style=\"height:6px\"></td></tr>\n";
   next;
}
    $stvhtml .= "<tr>\n";
    my @btn = split (",",$row[$rownr]);
  foreach my $btnnr (0..$#btn) {
    $stvhtml .= "<td>";
if ($btn[$btnnr] ne "") {
#   $stvhtml .=  "<a href=\"$FW_ME$FW_subdir?cmd.$stvdev=set $stvdev $btn[$btnnr]\"><img src=\"$FW_ME/icons/black_btn_".$btn[$btnnr]."\"></a>";
  my $cmd   = "cmd.$stvdev=set $stvdev $btn[$btnnr]";
  my $img   = "<img src=\"$FW_ME/icons/black_btn_$btn[$btnnr]\">";
    $stvhtml .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmd')\">$img</a>";
}
    $stvhtml .= "</td>\n";
  }
    $stvhtml .= "</tr>\n";
  }
  $stvhtml .= "</table>\n";
  return $stvhtml;
}



PS: Bin über's lange WE unterwegs und kann erst mal nicht helfen).

Edit 14.06.13: zip aktualisiert, alle icons drin

pfeffi

bin gerade dabei mein Samsung salonfhig zu machen
wo finde ich die Anhänge ??




Zitat von: UliM am 29 Mai 2013, 21:15:23
Hi,
zur Einrichtung der remote incl. frontend:
1.   Icons aus dem zip nach www/images/default
2.   set WEB rereadicons
3.   Routinen samsungtv($) (siehe oben), samsungremote($) und samsungremote_init() kopieren nach 99_myUtils.pm
4.   reload 99_myUtils.pm
5.   define notify n_STV  (siehe oben)
6.   define STV1 dummy (siehe oben)
7.   define STVremote weblink htmlCode {samsungremote("STV1")}
8.   attr STVremote room <Raum>
9.   STVremote kann auch in einen floorplan eingebunden werden

Es muss zunächst STV1 mit seinen buttons funktionieren (siehe oben).
Erst dann die Schritte ab 7 tun, um das frontend einzurichten.

Viel Spaß,
Uli


(siehe Anhang / see attachement)


PS: Im Moment werden die Trennblöcke in Firefox gut dargestellt, auf dem iPad produzieren sie ein hässliches Kasterl.
Wenn dazu jemand ne Lösung weiss, gerne her damit :)
Ggf $row[1], $row[6], $row[10] löschen und die Nummerierung anpassen, so dass sie durchgängig von null aufsteigend ist.


#### Samsung-TV remote frontend ########################################################################################################
# called by weblink htmlCode {samsungremote("<remotedevice>")}
sub
samsungremote_init() {
  my @row;
  $row[0]="POWEROFF,TV,HDMI";
  $row[1]="---";
  $row[2]="1,2,3";
  $row[3]="4,5,6";
  $row[4]="7,8,9";
  $row[5]=",0,PRECH";
  $row[6]="---";
  $row[7]="VOLUP,MUTE,CHUP";
  $row[8]="VOLDOWN,CH_LIST,CHDOWN";
  $row[9]="MENU,,GUIDE";
  $row[10]="---";
  $row[11]="TOOLS,UP,INFO";
  $row[12]="LEFT,ENTER,RIGHT";
  $row[13]="RETURN,DOWN,EXIT";
  # unused available commands
  # AD PICTURE_SIZE  SOURCE
  # CONTENTS W_LINK
  # RSS MTS SRS CAPTION TOPMENU SLEEP ESAVING
  # PLAY PAUSE REWIND FF REC STOP
  # PIP_ONOFF ASPECT
  return @row;
}
sub
samsungremote($) {
  my $stvdev = shift;
  my $stvhtml;
  my @row = samsungremote_init();
  $stvhtml='<table border="2" rules="none">';
  foreach my $rownr (0..$#row) {
    if ( ($row[$rownr] eq "---") && !$FW_tp ) {
   $stvhtml .= "<tr><td colspan=\"3\" style=\"height:6px\"></td></tr>\n";
   next;
}
    $stvhtml .= "<tr>\n";
    my @btn = split (",",$row[$rownr]);
  foreach my $btnnr (0..$#btn) {
    $stvhtml .= "<td>";
if ($btn[$btnnr] ne "") {
#   $stvhtml .=  "<a href=\"$FW_ME$FW_subdir?cmd.$stvdev=set $stvdev $btn[$btnnr]\"><img src=\"$FW_ME/icons/black_btn_".$btn[$btnnr]."\"></a>";
  my $cmd   = "cmd.$stvdev=set $stvdev $btn[$btnnr]";
  my $img   = "<img src=\"$FW_ME/icons/black_btn_$btn[$btnnr]\">";
    $stvhtml .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmd')\">$img</a>";
}
    $stvhtml .= "</td>\n";
  }
    $stvhtml .= "</tr>\n";
  }
  $stvhtml .= "</table>\n";
  return $stvhtml;
}



PS: Bin über's lange WE unterwegs und kann erst mal nicht helfen).

Edit 14.06.13: zip aktualisiert, alle icons drin