<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rudolfkoenig</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rudolfkoenig"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Rudolfkoenig"/>
	<updated>2026-05-07T15:46:49Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=DevelopmentUpdate&amp;diff=26288</id>
		<title>DevelopmentUpdate</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=DevelopmentUpdate&amp;diff=26288"/>
		<updated>2018-03-27T21:10:27Z</updated>

		<summary type="html">&lt;p&gt;Rudolfkoenig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Updatemechanismus ==&lt;br /&gt;
&lt;br /&gt;
Wenn der Benutzer den FHEM-Befehl update in seiner FHEM-Installation aufruft, werden aus allen Repositories, die er für Updates registriert hat, aktualisierte Dateien heruntergeladen. Dieser Artikel beschreibt den Mechanismus hinter der Bereitstellung des Updates aus dem zentralen FHEM-Repository.&lt;br /&gt;
&lt;br /&gt;
Jeden Tag um 7:45 Uhr wird auf dem FHEM-Updateserver fhemupdate.pl (siehe contrib) ausgeführt. Danach kann ein Benutzer von FHEM die zu diesem Zeitpunkt neuesten Dateien per update-Befehl beziehen. Abends in SVN-Repository eingecheckte Dateien stehen damit am nächsten Morgen per Update zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
fhemupdate.pl stellt im SVN-Repository neue und geänderte Dateien aus FHEM, FHEM/lib sowie einige weitere Dateien von FHEM sowie CUL-Firmware für das Update bereit. Die Liste der Dateien steht am Anfang von contrib/fhemupdate.pl. Insbesondere werden außer den Dateien zur Erzeugung der commandref keine Dateien aus contrib über update verteilt.&lt;br /&gt;
&lt;br /&gt;
Ohne weiteres Zutun löscht das Update keine Dateien in der Installation des Users, wenn diese im SVN-Repository fehlen, und liefert auch keine neuen Verzeichnisse und darin enthaltene Dateien aus.&lt;br /&gt;
&lt;br /&gt;
fhemupdate.pl wird von Rudolf König gepflegt. Ein Entwickler, der neue Verzeichnisse und deren Inhalte über Update verteilen möchte oder Dateien in den Benutzerinstallationen per Update löschen lassen möchte, stellt diesen Wunsch zunächst im [https://forum.fhem.de/index.php/board,48.0.html Forum im Board FHEM Development] zur Diskussion. Hintergrund ist es, die Entwicklung in geordnete Bahnen zu lenken. Da es in der Natur von FHEM liegt, mit unterschiedlichen Systemen zu kommunizieren, wird es nur natürlich sein, dass immer mehr Fremdpakete in FHEM abgelegt werden sollen.&lt;br /&gt;
Es soll einerseits den Anwendern das Leben leicht gemacht werden, andererseits soll aber FHEM weder den Paketmanager des Systems ersetzen noch als Repository für Fremdsoftware dienen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Development]]&lt;/div&gt;</summary>
		<author><name>Rudolfkoenig</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=DevelopmentFHEMWEB&amp;diff=2624</id>
		<title>DevelopmentFHEMWEB</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=DevelopmentFHEMWEB&amp;diff=2624"/>
		<updated>2013-07-25T12:33:34Z</updated>

		<summary type="html">&lt;p&gt;Rudolfkoenig: FW_docdir removed,&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the FHEMWEB module from a developer&#039;s perspective.&lt;br /&gt;
= Global Variables =&lt;br /&gt;
&lt;br /&gt;
The following global variables are used throughout FHEMWEB, and should be used if you are extending it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&amp;lt;dt&amp;gt;$FW_ME&amp;lt;dd&amp;gt; When using FHEMWEB, you have to specify a base path in all requests, this value is stored in the variable $FW_ME and defaults to /fhem. The user may change it by setting the webname attribute.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&amp;lt;dt&amp;gt;$FW_dir&amp;lt;dd&amp;gt; base directory from which FHEMWEB serves files. Defaults to  $attr{global}{modpath}/www.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&amp;lt;dt&amp;gt;$FW_icondir&amp;lt;dd&amp;gt; base directory from which FHEMWEB serves icons. Defaults to $FW_dir/images.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&amp;lt;dt&amp;gt;$FW_cssdir&amp;lt;dd&amp;gt; base directory from which FHEMWEB serves HTML and SVG style sheets and javascript files. Defaults to $FW_dir/pgm2.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&amp;lt;dt&amp;gt;$FW_gplotdir&amp;lt;dd&amp;gt; base directory where FHEMWEB searches for gplot files. Defaults to $FW_dir/gplot.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Special URLs =&lt;br /&gt;
You can request any file directly by specifying its exact path starting with $FW_dir, but there are also some special URLs available:&lt;br /&gt;
&lt;br /&gt;
== Icons ==&lt;br /&gt;
[http://hostname:port/ http://hostname:port/]&amp;amp;lt;webname&amp;amp;gt;/icons/&amp;amp;lt;device&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the standard mechanism to get an icon representing a device.&lt;br /&gt;
&lt;br /&gt;
For finding an icon for a device, the directories are scanned by the iconPath FHEMWEB attribute, default ist stylesheetDir:fhemSVG:openautomation:default. Then the icon is chosen depending on the device name,type and state. The user can specify a devStateIcon to change this behaviour, and the module can also override it by specifying its FW_summaryFn, see below.&lt;br /&gt;
&lt;br /&gt;
Due to historic reasons, you can still load any image from the iconPath directly by specifying its name without extension, but this feature may go away in the future.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
[http://hostname:port/ http://hostname:port/]&amp;amp;lt;webname&amp;amp;gt;/docs/file&lt;br /&gt;
&lt;br /&gt;
This is the standard mechanism to retrieve documentation, especially commandref.html: [http://hostname:port/ http://hostname:port/]&amp;amp;lt;webname&amp;amp;gt;/docs/commandref.html.&lt;br /&gt;
&lt;br /&gt;
== Usage in your own code ==&lt;br /&gt;
If you need an icon to be visualized in a web site, use the function FW_makeImage(&amp;amp;lt;icon&amp;amp;gt;). It returns the img tag for the icon plus a comment where the icon is located. It even return an error message if no icon file exists that fits the requested logical name.&lt;br /&gt;
&lt;br /&gt;
Other useful functions are FW_iconPath(&amp;amp;lt;icon&amp;amp;gt;) to determine the full(!) path to the icon, e.g. $FW_icondir/dark/lamp.off.png. and FW_IconURL(&amp;amp;lt;icon&amp;amp;gt;) to determine the URL of the icon, e.g. [http://hostname:port/ http://hostname:port/]&amp;amp;lt;webname&amp;amp;gt;/icons/lamp.off.&lt;br /&gt;
&lt;br /&gt;
= Plugins =&lt;br /&gt;
FHEMWEB provides some meachnisms to plug-in own functionality. To do so, own routines can be registered in the hashes $data or $hash respectively, see details below.&lt;br /&gt;
== FW_detailFn ==&lt;br /&gt;
Provides the possibility to display additional data on the details-screen of a device, will be dosplayed above the &amp;quot;Internals&amp;quot;-section.&lt;br /&gt;
Registration in a modules&#039; initialize-Routine:&lt;br /&gt;
 $hash-&amp;gt;{FW_detailFn} = &amp;quot;my_Routine&amp;quot;;&lt;br /&gt;
my_Routine will be called with the parameters $FW_wname, $deviceName, $FW_room. Have a look at 01_FHEMWEB.pm for examples.&lt;br /&gt;
== FW_summaryFn==&lt;br /&gt;
Provides the possibility to display own data instead of the state-icon of a device.&lt;br /&gt;
Registration in a modules&#039; initialize-Routine:&lt;br /&gt;
 $hash-&amp;gt;{FW_summaryFn} = &amp;quot;my_Routine&amp;quot;;&lt;br /&gt;
my_Routine will be called with the parameters $FW_wname, $deviceName, $FW_room. Have a look at 01_FHEMWEB.pm for examples.&lt;br /&gt;
The return-value of my_routine can bei any of&lt;br /&gt;
* html-code, checked by regexp &amp;lt;.*&amp;gt;&lt;br /&gt;
* empty (&amp;quot;&amp;quot;), will display the state as a text link usual&lt;br /&gt;
* undef, will continue the default search mechanism for a matching icon for STATE&lt;br /&gt;
&lt;br /&gt;
== webCmdFn ==&lt;br /&gt;
Provides the possibility to display own data instead of the command-list of a device.&lt;br /&gt;
Registration in a modules&#039; initialize-Routine:&lt;br /&gt;
 $data{webCmdFn}{myModule} = &amp;quot;my_Routine&amp;quot;; &lt;br /&gt;
my_Routine will be called with parameters $FW_wname, $deviceName, $FW_room, $cmd, $values.&lt;br /&gt;
&lt;br /&gt;
For more details refer to [http://forum.fhem.de/index.php?t=msg&amp;amp;th=12460&amp;amp;goto=74762&amp;amp;rid=86#msg_74762 the original thread in fhem-forum].&lt;br /&gt;
[[Kategorie:Development]]&lt;/div&gt;</summary>
		<author><name>Rudolfkoenig</name></author>
	</entry>
</feed>