Icon für SolarEdgeAPI Modul

Begonnen von pizmus, 19 Oktober 2019, 13:58:47

Vorheriges Thema - Nächstes Thema

pizmus

Ich bin seit kurzem Maintainer von SolarEdgeAPI, siehe https://forum.fhem.de/index.php/topic,89939.60.html#lastPost . Ich habe das Modul übernommen, im FHEM SVN submitted und bin nun dabei es aufzuräumen. So weit so gut.

Das Modul basiert auf http Requests an das SolarEdge Monitoring Portal, siehe https://www.solaredge.com/sites/default/files/se_monitoring_api.pdf . Das API ist frei verfügbar und gut dokumentiert. Allerdings bin ich im API Handbuch auf folgende Bedingung gestoßen:

"Display requirements:When displaying information from the API, place the SolarEdge logo where it is clear to the user that the information source is SolarEdge's monitoring system."

Technisch sollte es kein Problem sein, das Logo, dass man auf der SolarEdge Homepage herunterladen kann, mit "attr ... icon ..." darzustellen. Allerdings ist mir nicht klar wo ich das Image hinlegen sollte. Was ist zu beachten? Gab es schon etwas ähnliches?

Gruss,
pizmus

zap

#1
Musst Du das Icon unbedingt lokal ablegen oder kannst Du es auch einfach per src=http.... vom SolarEdge Portal referenzieren?

Es gibt mehrere Module, die HTML Code und auch Bilder in der Detailseite ihrer Devices haben (zB der Sonos, wenn ich mich recht erinnere).

Eine Möglichkeit ist, bei der Initialisierung des Moduls eine DetailFunction zu definieren:

$hash->{FW_detailFn} = "MyDetailFunc";


Die MyDetailFunc gibt HTML Code zurück, der dann auf der Detailseite eines Device dargestellt wird. Ein Beispiel findest Du in meinem FULLY Modul.




2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

rudolfkoenig

Da das Bild laut pdf auf das Homepage der Firma verlinken muss, finde ich die Online-Variante auch besser.
Will nicht anfangen Firmen-Logos in der FHEM-Repository abzulegen, ganz zu schweigen von den Lizenzfragen.

pizmus

Okay, dann ist die Richtung erst einmal klar.

Mein erster Versuch mit der Funktion FULLY_Detail als Vorbild war leider nicht erfolgreich. Es ist mir nicht gelungen, das Logo auf der Detail-Seite des Moduls darzustellen. Es wurde nur ein Text dargestellt, nicht das Logo. Ich kenne mich mit HTML nicht aus.

@zap, kannst Du helfen?
Das Logo auf der Homepage liegt hier:
https://www.solaredge.com/sites/default/files/SolarEdge_logo_header_new.png
Ausserdem gibt es im Download-Bereich eine rar-Datei mit Logos:
https://www.solaredge.com/sites/default/files/SolarEdge-Logo.rar
Ein Click auf das Logo soll auf www.solaredge.com verlinken.

Viele Grüße,
pizmus

rudolfkoenig

Folgendes ist zwar nicht schoen, erfuellt aber die Anforderungen:
sub
SolarEdgeAPI_Initialize($)
{
[...]
  $hash->{FW_detailFn} = "SolarEdgeAPI_fhemwebFn";
}

sub
SolarEdgeAPI_fhemwebFn($$$)
{
  my ($FW_wname, $d, $room) = @_;
  return << 'EOF'
<br>
<a href="https://www.solaredge.com">
<img src="https://www.solaredge.com/sites/default/files/SolarEdge_logo_header_new.png">
</a>
<br>
EOF
}

pizmus

Ich habe das so übernommen. Vielen Dank für die schnelle Hilfe!