[FHEM-Tablet-UI] Widgets for fhem-tablet-ui

Begonnen von nesges, 10 April 2015, 10:30:25

Vorheriges Thema - Nächstes Thema

nesges

Solltest du damit nicht weiter gekommen sein: Definiere dir einen Dummy und hänge ein notify dran:

define WECKER dummy
[...]

define WECKER_setTime notify WECKER:.* { if("$EVENT" =~ /^(\d\d:\d\d|off)$/) { wecker($NAME) } }
attr WECKER_setTime room hidden


Die Perl-Funktion "wecker" legst du selbst an; sie "stellt den Wecker", legt also zum Beispiel einen at-Job zur eingestellten Uhrzeit an. Ich hänge meine Funktion an, aber das ist sehr individuell - viel wirst du davon wahrscheinlich nicht übernehmen können, aber vielleicht bringt's dich auf die richtige Idee.

sub wecker(;$) {
    my $device = shift || 'WECKER';
    my $alarmtime = Value($device);

    # delete old at-jobs
    my @at = split ' ', ReadingsVal($device, 'atjobs', '');
    foreach my $a (@at) {
        fhem("delete $a") if Value($a);
    }
    fhem("setreading ".$device." atjobs none");
   
    # reset running status
    fhem("setreading $device running no");
   
    if($alarmtime ne "off") {
        my $activationtime = TU_Get_Decrement($alarmtime.":00", "00:20:00");
        fhem("setreading ".$device." activationtime ".$activationtime);
       
        my $atjob = fhem_at($activationtime, "IF ( [ATHOME] ) ( { wecker_activate('$device') } )");
        fhem("setreading ".$device." atjobs ".$atjob);
       
        if(ReadingsVal($device, 'sendtohandy', 'no') eq 'yes') {
            autoremote(AttrVal($device, 'autoremote', ''), 'Wecker=:='.Value($device));
        }
    } else {
        fhem('set '.AttrVal($device, 'wakeuplight', '').' off');
        fhem('set '.AttrVal($device, 'radio', '').' stop');
    }
}

sub wecker_activate(;$) {
    my $device = shift || 'WECKER';
   
    # soll 20 min vor der Weckzeit gestartet werden
   
    if(Value('ATHOME')) {
        my $wakeuplight = AttrVal($device, 'wakeuplight', '');
        my $radio_device = AttrVal($device, 'radio', '');
        my $radio_server = AttrVal($radio_device, 'presence', '');
        my $radio_power = AttrVal($radio_device, 'powersupply', '');
       
        my @at;
       
        fhem("setreading $device running running");
       
        # T-20: WakeUpLight starten
        wakeuplight($wakeuplight);
       
        # T-5: Radio booten; zur Sicherheit mehrfach checken
        push @at, fhem_at("+00:15:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:16:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:17:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:18:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:19:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
       
        # T-0: Radio fadein
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( {mpd_fadein('".$radio_device."', 'stream:".ReadingsVal($radio_device,'station','dlf')."') } )");
        # T-0: Uhrzeitansage
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."','Guten Morgen! Es ist {TIME}, du wolltest geweckt werden.') } )");
        # T-0: Alarmanlage aus
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( set OPT_ALARM 0 )");
       
        # T+10: Zeitansage
        push @at, fhem_at("+00:30:00", "IF ( [".$device."] ne 'off' ) ( { goodmorning('".$radio_server."') } )");
        # T+20: Zeitansage
        push @at, fhem_at("+00:40:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', 'Es ist {TIME}. Hier sind die aktuellen Nachrichten: '.ReadingsVal('DLFNACHRICHTEN', 'schlagzeilen', '')) } )");
        # T+30: Zeitansage
        push @at, fhem_at("+00:50:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', '{TIME}') } )");
        # T+40: Zeitansage
        push @at, fhem_at("+01:00:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', '{TIME}. Das war die letzte Ansage. Ich gebe auf. Schlaf gut') } )");
       
        # T+45: Licht aus
        push @at, fhem_at("+01:05:00", "set ".$wakeuplight." off");
        # T+45: Wecker off
        push @at, fhem_at("+01:10:00", "set $device off");
       
        # T+60: Radio stop
        push @at, fhem_at("+01:20:00", "set ".$radio_device." stop");
        # T+65: Radio shutdown
        # push @at, fhem_at("+01:25:00", "{ sshcmd('".$radio_server."', 'shutdown -h now') }");
       
        # reset running status
        push @at, fhem_at("+01:20:00", "setreading $device running no");
       
        fhem("setreading ".$device." atjobs ".join(' ', @at));
    }
}



nesges

Neues Widget: svgplot

<div data-type="svgplot"
        data-device="SVG_DBLOG1_KUECHE_300x300"
        data-gplotfile="SVG_DBLOG1_KUECHE_300x300"
        data-logdevice="DBLOG1"
        data-logfile="CURRENT"
        data-refresh="300"></div>


Zeigt einen Fhem-SVG-Plot als Grafik an. Doku unter https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/svgplot

nesges

Zitat von: fstefan1960 am 06 August 2015, 07:12:10
es wäre klasse, wenn im weather-Modul der Abschnitt openweather ergänzt werden könnte:

Die beiden neuen Zeilen sind im aktuellen FTUI-Update enthalten (weather gehört zum FTUI Standard Repository).

danieljo

Zitat von: nesges am 18 September 2015, 22:27:26
Solltest du damit nicht weiter gekommen sein: Definiere dir einen Dummy und hänge ein notify dran:

define WECKER dummy
[...]

define WECKER_setTime notify WECKER:.* { if("$EVENT" =~ /^(\d\d:\d\d|off)$/) { wecker($NAME) } }
attr WECKER_setTime room hidden


Die Perl-Funktion "wecker" legst du selbst an; sie "stellt den Wecker", legt also zum Beispiel einen at-Job zur eingestellten Uhrzeit an. Ich hänge meine Funktion an, aber das ist sehr individuell - viel wirst du davon wahrscheinlich nicht übernehmen können, aber vielleicht bringt's dich auf die richtige Idee.

sub wecker(;$) {
    my $device = shift || 'WECKER';
    my $alarmtime = Value($device);

    # delete old at-jobs
    my @at = split ' ', ReadingsVal($device, 'atjobs', '');
    foreach my $a (@at) {
        fhem("delete $a") if Value($a);
    }
    fhem("setreading ".$device." atjobs none");
   
    # reset running status
    fhem("setreading $device running no");
   
    if($alarmtime ne "off") {
        my $activationtime = TU_Get_Decrement($alarmtime.":00", "00:20:00");
        fhem("setreading ".$device." activationtime ".$activationtime);
       
        my $atjob = fhem_at($activationtime, "IF ( [ATHOME] ) ( { wecker_activate('$device') } )");
        fhem("setreading ".$device." atjobs ".$atjob);
       
        if(ReadingsVal($device, 'sendtohandy', 'no') eq 'yes') {
            autoremote(AttrVal($device, 'autoremote', ''), 'Wecker=:='.Value($device));
        }
    } else {
        fhem('set '.AttrVal($device, 'wakeuplight', '').' off');
        fhem('set '.AttrVal($device, 'radio', '').' stop');
    }
}

sub wecker_activate(;$) {
    my $device = shift || 'WECKER';
   
    # soll 20 min vor der Weckzeit gestartet werden
   
    if(Value('ATHOME')) {
        my $wakeuplight = AttrVal($device, 'wakeuplight', '');
        my $radio_device = AttrVal($device, 'radio', '');
        my $radio_server = AttrVal($radio_device, 'presence', '');
        my $radio_power = AttrVal($radio_device, 'powersupply', '');
       
        my @at;
       
        fhem("setreading $device running running");
       
        # T-20: WakeUpLight starten
        wakeuplight($wakeuplight);
       
        # T-5: Radio booten; zur Sicherheit mehrfach checken
        push @at, fhem_at("+00:15:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:16:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:17:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:18:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:19:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
       
        # T-0: Radio fadein
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( {mpd_fadein('".$radio_device."', 'stream:".ReadingsVal($radio_device,'station','dlf')."') } )");
        # T-0: Uhrzeitansage
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."','Guten Morgen! Es ist {TIME}, du wolltest geweckt werden.') } )");
        # T-0: Alarmanlage aus
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( set OPT_ALARM 0 )");
       
        # T+10: Zeitansage
        push @at, fhem_at("+00:30:00", "IF ( [".$device."] ne 'off' ) ( { goodmorning('".$radio_server."') } )");
        # T+20: Zeitansage
        push @at, fhem_at("+00:40:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', 'Es ist {TIME}. Hier sind die aktuellen Nachrichten: '.ReadingsVal('DLFNACHRICHTEN', 'schlagzeilen', '')) } )");
        # T+30: Zeitansage
        push @at, fhem_at("+00:50:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', '{TIME}') } )");
        # T+40: Zeitansage
        push @at, fhem_at("+01:00:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', '{TIME}. Das war die letzte Ansage. Ich gebe auf. Schlaf gut') } )");
       
        # T+45: Licht aus
        push @at, fhem_at("+01:05:00", "set ".$wakeuplight." off");
        # T+45: Wecker off
        push @at, fhem_at("+01:10:00", "set $device off");
       
        # T+60: Radio stop
        push @at, fhem_at("+01:20:00", "set ".$radio_device." stop");
        # T+65: Radio shutdown
        # push @at, fhem_at("+01:25:00", "{ sshcmd('".$radio_server."', 'shutdown -h now') }");
       
        # reset running status
        push @at, fhem_at("+01:20:00", "setreading $device running no");
       
        fhem("setreading ".$device." atjobs ".join(' ', @at));
    }
}


Nein ich habe da noch nicht  dran weitergemacht. Aber der Tipp mit dem "notify" und "dummy" könnte klappen ic hwerde da mal die Tage was probieren! Vielen Dank für den Tipp nesges. Achja und tolles neues Widget mit dem SVG-Plot. Auch das werde ich mal probieren aber erstmal ein paar andere Probleme mit Tablet UI aus dem Weg räumen.

MFG, Daniel Joachims

Raven

Perfekt! Danke! Danke!

Ich habe schon gesucht, aber nicht wirklich nicht fündig geworden: Welches CSS-File aus dem FHEM-Verzeichnis muss ich bitte anpassen, um weiße Bezeichnungen zu erhalten. Und natürlich so, daß über das FHEM-Frontend nach wie vor die Bezeichnungen schwarz bleiben. Danke vorab.

Zitat von: nesges am 18 September 2015, 23:11:10
Neues Widget: svgplot

<div data-type="svgplot"
        data-device="SVG_DBLOG1_KUECHE_300x300"
        data-gplotfile="SVG_DBLOG1_KUECHE_300x300"
        data-logdevice="DBLOG1"
        data-logfile="CURRENT"
        data-refresh="300"></div>


Zeigt einen Fhem-SVG-Plot als Grafik an. Doku unter https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/svgplot
Proxmox-Prod/Dev: Homematic i.V.m. VCCU (HMLan, HM-MOD-RPI-PCB), Philips Hue, Viessmann (optolink)
Fritzbox 7590

nesges

Der SVG-Style wird in www/pgm2/*svg_style.css konfiguriert. Das Prefix für's CSS-File ist als Attribut "stylesheetPrefix" an der FHEMWEB Instanz festgelegt, also zB "attr WEB stylesheetPrefix dark" -> www/pgm2/darksvg_style.css. Für Änderungen am besten kopieren und ein eigenes Prefix setzen, damit's nicht beim Fhem-Update überschrieben wird.

Raven

Wunderbar! Dankeschön!
Zitat von: nesges am 20 September 2015, 10:19:11
Der SVG-Style wird in www/pgm2/*svg_style.css konfiguriert. Das Prefix für's CSS-File ist als Attribut "stylesheetPrefix" an der FHEMWEB Instanz festgelegt, also zB "attr WEB stylesheetPrefix dark" -> www/pgm2/darksvg_style.css. Für Änderungen am besten kopieren und ein eigenes Prefix setzen, damit's nicht beim Fhem-Update überschrieben wird.
Proxmox-Prod/Dev: Homematic i.V.m. VCCU (HMLan, HM-MOD-RPI-PCB), Philips Hue, Viessmann (optolink)
Fritzbox 7590

Schlimbo

#247
Hallo Zusammen,

Probiere gerade das Widget "itunes_artwork" einzubinde.
Das Widget soll die Daten von KODI bekommen (Device Type: XBMC)


<li data-row="1" data-col="1" data-sizex="3" data-sizey="3">
        <header>KODI COVER</header>
<div data-type="itunes_artwork"
    data-device="raspbmc"
    data-get='["currentArtist","currentAlbum","currentTitle"]'></div>
</li>



Bekomme aber Kein Cover Angezeigt, mach ich hier noch etwas falsch?

Ausgabe der Browser Konsole:
"2015-09-27 17:52:40 / raspbmc / currentArtist / Future" fhem-tablet-ui.min.js:1
"label" "value" "Future" "substitution" "" jquery.min.js line 2 > eval:44
"itunes_artwork" "playstatus" "STATE" "play all" jquery.min.js line 2 > eval:141
"update done for device:raspbmc parameter:currentArtist" fhem-tablet-ui.min.js:1
"2015-09-27 17:52:40 / raspbmc / currentAlbum / Hip Hop TXL Vol 38" fhem-tablet-ui.min.js:1
"label" "value" "Hip Hop TXL Vol 38" "substitution" "" jquery.min.js line 2 > eval:44
"itunes_artwork" "playstatus" "STATE" "play all" jquery.min.js line 2 > eval:141
"itunes_artwork" "ignoring" "currentAlbum" true true jquery.min.js line 2 > eval:216
"update done for device:raspbmc parameter:currentAlbum" fhem-tablet-ui.min.js:1
"2015-09-27 17:52:40 / raspbmc / currentTitle / I Won (feat. Kanye West)" fhem-tablet-ui.min.js:1
"label" "value" "I Won (feat. Kanye West)" "substitution" "" jquery.min.js line 2 > eval:44
"itunes_artwork" "playstatus" "STATE" "play all" jquery.min.js line 2 > eval:141
"itunes_artwork" "ignoring" "currentTitle" true true jquery.min.js line 2 > eval:216
"update done for device:raspbmc parameter:currentTitle" fhem-tablet-ui.min.js:1
"itunes_artwork" "update" Array [ "currentArtist", "currentAlbum", "currentTitle" ] Array [ "Future", "Hip Hop TXL Vol 38", "I Won (feat. Kanye West)" ] jquery.min.js line 2 > eval:208
"itunes_artwork" "itunes.start" Array [ "Future", "Hip Hop TXL Vol 38", "I Won (feat. Kanye West)" ] jquery.min.js line 2 > eval:58
GET https://itunes.apple.com/search [HTTP/1.1 200 OK 287ms]
"itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:98
"itunes_artwork" "itunes.start" Array [ "Future", "Hip Hop TXL Vol 38" ] jquery.min.js line 2 > eval:58
GET https://itunes.apple.com/search [HTTP/1.1 200 OK 295ms]
"itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:98
"itunes_artwork" "itunes.start" Array [ "Future" ] jquery.min.js line 2 > eval:58
GET https://itunes.apple.com/search [HTTP/1.1 200 OK 619ms]
"itunes_artwork" "itunes.artwork" "http://is2.mzstatic.com/image/thumb/Music7/v4/d8/fd/1e/d8fd1e71-ee8d-526b-52a3-bcf215228975/886445328530.jpg/NaNxNaNbb-85.jpg"


Der Itunes Server gibt also eine URL zurück z.B.: http://is2.mzstatic.com/image/thumb/Music7/v4/d8/fd/1e/d8fd1e71-ee8d-526b-52a3-bcf215228975/886445328530.jpg/NaNxNaNbb-85.jpg
beim Aufruf dieser URL bekomme ich aber nur "404: Not Found" zurück

Auch das Load und Stop Bild wird nicht angezeigt.

Kann hier jemand helfen?

Gruß Schlimbo

Edit:
Beim refresh der Seite ist mir gerade noch die Fehlermeldung "TypeError: $(...).attr(...) is undefined" aufgefallen:

"Loaded plugin: widget_itunes_artwork" fhem-tablet-ui.min.js:1
"itunes_artwork" "init_attr" "currentArtist" jquery.min.js line 2 > eval:19
"itunes_artwork" "init_attr" "currentAlbum" jquery.min.js line 2 > eval:19
"itunes_artwork" "init_attr" "currentTitle" jquery.min.js line 2 > eval:19
TypeError: $(...).attr(...) is undefined jquery.min.js line 2 > eval:28


nesges

#248
Anscheinend funktioniert die Berechnung der Pixelratiosize bei dir nicht. In was für einem Browser auf was für einem Gerät hast du's versucht?

Folgendes passiert:

1. Anfrage an Itunes: https://itunes.apple.com/search?media=music&entity=song&term=Future%20Hip%20Hop%20TXL%20Vol%2038%20I%20Won%20(feat.%20Kanye%20West)
Kein Ergebnis

2. Anfrage an Itunes:  https://itunes.apple.com/search?media=music&entity=song&term=Future%20Hip%20Hop%20TXL%20Vol%2038
Kein Ergebnis

3. Anfrage an Itunes:  https://itunes.apple.com/search?media=music&entity=song&term=Future
Ergebnis: http://is2.mzstatic.com/image/thumb/Music7/v4/d8/fd/1e/d8fd1e71-ee8d-526b-52a3-bcf215228975/886445328530.jpg/100x100bb-85.jpg

"100x100" wird durch Pixelratio * data-size (Default: 100px) ersetzt, aber offenbar ist bei dir window.devicePixelRatio undefiniert, daher wird mit "NaN" ersetzt und das Ergebnis ist:

http://is2.mzstatic.com/image/thumb/Music7/v4/d8/fd/1e/d8fd1e71-ee8d-526b-52a3-bcf215228975/886445328530.jpg/NaNxNaNbb-85.jpg

Ich habe grade einen Workarround dafür commited, nach einem Update solltest du ein Bild sehen. Allerdings wirst du für den speziellen Song u.U. enttäuscht sein, da iTunes mit dem vollen Suchstring "Future Hip Hop TXL Vol 38 I Won (feat. Kanye West)" nichts findet, wird das erste Ergebnis für "Future" angezeigt. In diesem speziellen Fall kennt iTunes nämlich das Album "Hip Hop TXL Vol 38" nicht. Wenn du viele Kompilationalben hast, würde ich empfehlen die Attributreihenfolge in data-get entsprechend umzustellen:

data-get='["currentArtist","currentTitle","currentAlbum"]'

Schlimbo

Hallo nesges,

Danke für deine Antwort.

Ich habe es auf einen Android Tablet mit Dolphin, Firefox und Standard Browser Probiert, auch mit Firefox auf meinen Desktop Rechner bekomme ich kein Cover Angezeigt.

Ich habe das Update eingespielt, bekomme aber immer noch ungültige Links mit "NaN".
Setzt ich die Größe manuell mit "data-size" bekomme ich einen funktionierenden Link, ein Bild bekomme ich aber dennoch nicht angezeigt.
Zum Testen, ob ich überhaupt Bilder Angezeigt bekomme, habe ich den von Itunes erhaltenen Link in ein Image-Widget eingebunden, damit bekomme ich das Bild im Browser angezeigt.

Auch das Load und Stop Bild bekomme ich nicht angezeigt.

Hier die Ausgabe der Konsole:
"Plugin dir: /fhem/tablet/js" fhem-tablet-ui.min.js:1
"Filename: " fhem-tablet-ui.min.js:1
"Collecting required readings" fhem-tablet-ui.min.js:1
"Request readings from FHEM" fhem-tablet-ui.min.js:1
Synchrone XMLHttpRequests am Haupt-Thread sollte nicht mehr verwendet werden, weil es nachteilige Effekte für das Erlebnis der Endbenutzer hat. Für weitere Hilfe siehe http://xhr.spec.whatwg.org/ jquery.min.js:4
"Loaded plugin: widget_image" fhem-tablet-ui.min.js:1
"Loaded plugin: widget_itunes_artwork" fhem-tablet-ui.min.js:1
"itunes_artwork" "init_attr" "currentArtist" jquery.min.js line 2 > eval:19
"itunes_artwork" "init_attr" "currentAlbum" jquery.min.js line 2 > eval:19
"itunes_artwork" "init_attr" "currentTitle" jquery.min.js line 2 > eval:19
TypeError: $(...).attr(...) is undefined jquery.min.js line 2 > eval:28
"Loaded plugin: widget_label" fhem-tablet-ui.min.js:1
"label" "value" "2Pac" "substitution" "" jquery.min.js line 2 > eval:44
"label" "value" "All Eyez On Me" "substitution" "" jquery.min.js line 2 > eval:44
"label" "value" "Skandalouz" "substitution" "" jquery.min.js line 2 > eval:44
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"label" "value" "2Pac" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentArtist" fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentAlbum" true true jquery.min.js line 2 > eval:221
"label" "value" "All Eyez On Me" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentAlbum" fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentTitle" true true jquery.min.js line 2 > eval:221
"label" "value" "No More Pain" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentTitle" fhem-tablet-ui.min.js:1
"itunes_artwork" "update" Array [ "currentArtist", "currentAlbum", "currentTitle" ] Array [ "2Pac", "All Eyez On Me", "No More Pain" ] jquery.min.js line 2 > eval:213
"itunes_artwork" "itunes.start" Array [ "2Pac", "All Eyez On Me", "No More Pain" ] jquery.min.js line 2 > eval:58
"itunes_artwork" "itunes.artwork" "http://is2.mzstatic.com/image/thumb/Music/4f/49/20/dj.lbjggise.jpg/400x400bb-85.jpg" jquery.min.js line 2 > eval:97
"start longpoll" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentTitle / " fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"update done for device:raspbmc parameter:currentTitle" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentAlbum / " fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentAlbum" true true jquery.min.js line 2 > eval:221
"update done for device:raspbmc parameter:currentAlbum" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentArtist / " fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentArtist" true true jquery.min.js line 2 > eval:221
"update done for device:raspbmc parameter:currentArtist" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentArtist / 2Pac" fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"label" "value" "2Pac" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentArtist" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentAlbum / All Eyez On Me" fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentAlbum" true true jquery.min.js line 2 > eval:221
"label" "value" "All Eyez On Me" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentAlbum" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentTitle / 2 Of Amerikaz Most Wanted" fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentTitle" true true jquery.min.js line 2 > eval:221
"label" "value" "2 Of Amerikaz Most Wanted" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentTitle" fhem-tablet-ui.min.js:1
"itunes_artwork" "update" Array [ "currentArtist", "currentAlbum", "currentTitle" ] Array [ "2Pac", "All Eyez On Me", "2 Of Amerikaz Most Wanted" ] jquery.min.js line 2 > eval:213
"itunes_artwork" "itunes.start" Array [ "2Pac", "All Eyez On Me", "2 Of Amerikaz Most Wanted" ] jquery.min.js line 2 > eval:58
GET https://itunes.apple.com/search [HTTP/1.1 200 OK 350ms]
"itunes_artwork" "itunes.artwork" "http://is1.mzstatic.com/image/thumb/Music/41/5c/ac/dj.jiruxewe.jpg/400x400bb-85.jpg" jquery.min.js line 2 > eval:97


Gruß Schlimbo

Syntaxterror

Hallo,

da ich 2 Raspis über fhem2fhem betreibe, will ich gern z.B. das Widget thermostat verwenden, dabei aber die Daten des entfernten fhem-Servers anzeigen.
Wie kann ich dies bei data-device eintragen, mit <https://192.168.100.2:8083..../Heizung_Clima> wird ja wohl nicht funktionieren.

Hat einer eine Idee?
FHEM5.7produktiv Pi3+Pi2,CUL868,CUL433,ser2net,DS2482 mit ca.30Sensoren/Aktoren, ca.100xHomematic,Gertboard+GPIO, 10xLaCrosse

skuggy

Hallo zusammen,

ist es möglich anstatt runden Icon´s eckige im Button Widget anzeigen zu lassen?

z.B. mit background-icon = fa-square

...Gruß skuggy

FHEM 5.6 auf Raspberry Pi 2, HM-CFG-LAN, 8x HM-LC-Bl1PBU-FM, 5 x HM-CC-RT-DN, 1 x HM-LC-Sw1-Ba-PCB, 1 x HM-RC-4-2, 1 x JeeLink Clone, 10 x TX29DTH-IT, Fritzbox 7270

danieljo

#252
Zitat von: Syntaxterror am 07 Oktober 2015, 21:44:24
Hallo,

da ich 2 Raspis über fhem2fhem betreibe, will ich gern z.B. das Widget thermostat verwenden, dabei aber die Daten des entfernten fhem-Servers anzeigen.
Wie kann ich dies bei data-device eintragen, mit <https://192.168.100.2:8083..../Heizung_Clima> wird ja wohl nicht funktionieren.

Hat einer eine Idee?

Das Problem habe ich bei mir bereits gelöst.

Du musst die Daten erstmal in FHEM selber in eine Art Dummy Device oder Readingsgroup bringen das geht mittels FHEM2FHEM, RFEHEM, notifies. Ich habe ebenfalls 2 Raspberry Pi2 einen als "Zentrale" der andere hängt im Aquarium Unterschrank und steuert Aquarium Heizung und Licht.

So kann ich vom Master aus mittels FHEM die Soll-Temperatur; Ist-Temperatur sehen und auch die Soll-Temperatur setzen. Sollte die Verbindung unterbrechen oder der Master abschmieren arbeitet der Slave immernoch als eigene Instanz anhand der letzten gesetzten Soll-Temperatur. Sollte man am Slave die Temperatur setzen wird dies auch auf dem Master übernommen.

Syntaxterror

Danke für den Tipp, aber genauso hab ich das auch zu laufen, 2 Rpis, fhem2fhem, RFHEM.
Ich will aber Tablet-UI mit z.B. HM-CC-RT-DN einsetzen und diese sehen und steuern können, als wären sie am Hauptraspi. Da die Regler mehr als nur eine Variable liefern, weiß ich nicht, wie ich das mit den dummys/notifys machen soll. (mode, temp, clima-team, weather usw.)

Grüße ins Forum
FHEM5.7produktiv Pi3+Pi2,CUL868,CUL433,ser2net,DS2482 mit ca.30Sensoren/Aktoren, ca.100xHomematic,Gertboard+GPIO, 10xLaCrosse

danieljo

Zitat von: Syntaxterror am 08 Oktober 2015, 20:48:46
Danke für den Tipp, aber genauso hab ich das auch zu laufen, 2 Rpis, fhem2fhem, RFHEM.
Ich will aber Tablet-UI mit z.B. HM-CC-RT-DN einsetzen und diese sehen und steuern können, als wären sie am Hauptraspi. Da die Regler mehr als nur eine Variable liefern, weiß ich nicht, wie ich das mit den dummys/notifys machen soll. (mode, temp, clima-team, weather usw.)

Grüße ins Forum

Unterstützt HM-CC-RT-DN den "RAW" Modus oder gehts nur über den "LOG" Modus in FHEM2FHEM? Beim RAW Modus kannst du ja auf dem Device zugreifen so als wäre er direkt am Haupt RPI Angeschlossen. Meine Geräte kann ich leider nur im "LOG" Modus ermitteln.

Andernfalls legst du dir einen "Dummy" HM-CC-RT-DN an und dann musst du mittels notice jeden einzelnen Wert  den du haben willst einzeln an den Dummy senden. Ist halt etwas aufwendiger. Sprich für "mode" ein notice; für "temp" ein notice usw.....