Hallo,
nach all den Jahren des Smarthome Bastelns, hab ich mich gefragt was mein FHEM so alles leisten und verwalten muss.
Klar hat man genau im Kopf welche Geräte man hat, und wie alles miteinander so verknüpft ist.
Aber, man sieht es nicht!
So dachte ich mir, ich erstelle mir mal mit dem Programm Xmind eine MindMap von meinem kompletten FHEM.
Was soll ich sagen, es ist schon irre was da alles so zusammen kommt.
Anbei ein Bild der MindMap.
Falls jemand das für sich nachbauen möchte, das programm Xmind ist kostenlos und nach ein paar Minuten auch sehr leicht bedienbar.
Ich habe die Version 2020 verwendet.
Nett - hast du das per Hand gemacht?
ja, alles eingegeben.
Urgs :)
Respekt :)
Das Thema Dokumentation füllt hier ja auch den ein oder anderen Thread, da könntest du durchaus mal deinen Lösungsansatz verteilen.
Eine wirklich tolle Idee und macht eingerahmt auch was her.^^ Hut ab!
Wow, wirklich eine tolle Idee mit der Mindmap! Fleißpunkte gibts dazu ;D
Wann hast du denn angefangen dein Smarthome einzurichten?
Hab mal angefangen ;) Nicht jedes DOIF/notify/at ist abgebildet.
Zitat von: amenomade am 21 Dezember 2020, 20:31:33
Hab mal angefangen ;) Nicht jedes DOIF/notify/at ist abgebildet.
Schick, aber das muss doch irgendwie auch automatisch gehen, oder? Ich habe echt kein Bock das manuell zu machen :-/
Vorallem da sich di9e Installation weiterentwickelt und man dann vergisst, seine Doku Weiterzupflegen ...
Klar geht das automatisch - allerdings bisher nur in der Theorie.
Das Dateiformat von XMind kann man problemlos in ein Verzeichnis umwandeln:
https://www.online-convert.com/de/datei-format/xmind
Die entsprechenden XML-Dateien können problemlos mit XSLT modifiziert werden.
Das bisher fehlende Stück ist ein kleines Programm, das aus einer Konfigurationsdatei (meinetwegen exportiert aus einer configdb) eine XML-Datei macht. Also etwa aus jedem
define XYZ notify <regexp> <Befehl mit Devicenamen>
ein
<notify ID="XYZ" regexp="...">
<cmd>...</cmd>
<linkedto> ... Devicenamen ... </linkedto>
(Hier alle Attribute des notify>
</notify>
Wenn man einen solchen Konverter hat (nicht schwierig, aber dafür fehlt mir die Zeit), ist der Rest einfach. Solche Autodokumentationssysteme habe ich schon mehrfach gebaut.
Da ich seit mehr als 20 Jahren XML und XSLT lehre, stelle ich gerne meine Fähigkeiten (und, vielleicht wichtiger, auch die meiner Studenten) zur Verfügung.
LG
pah
Edit: Das Wetter ist heute zu mies für den Golfplatz, also hat mich die Idee noch ein paar Minuten weiter beschäftigt. Man würde natürlich nicht mit der Konfigurationsdatei arbeiten. Sondern einfach mit einer kleinen Perl-Routine im laufenden FHEM, die durch alle Devices des %defs-Hashes läuft und daraus XML macht. Mal sehen, wie sich das Wetter entwickelt...
Zitat von: Prof. Dr. Peter Henning am 22 Dezember 2020, 10:02:16
Klar geht das automatisch - allerdings bisher nur in der Theorie.
ah, jetzt wird es auch für faule Menschen wie mich interessant :) Da lese ich doch mal mit.
Zitat von: Prof. Dr. Peter Henning am 22 Dezember 2020, 10:02:16
<notify ID="XYZ" regexp="...">
<cmd>...</cmd>
<linkedto> ... Devicenamen ... </linkedto>
(Hier alle Attribute des notify>
</notify>
Und dann schreibt noch jemand ein Schema/DTD und einen Prozessor zurück in FHEM-Config dazu und wir können Konfiguration schreiben, die wir
vor dem Start validieren könnten ;-)
Damit wären wir dann auf dem Stand von etwa ... 2000?
Zitat von: P.A.Trick am 22 Dezember 2020, 08:39:17
Schick, aber das muss doch irgendwie auch automatisch gehen, oder? Ich habe echt kein Bock das manuell zu machen :-/
Ja das hatte ich mir schon gedacht.
Anscheinend sind jetzt mit der neuen Version die Daten als .json (innerhalb einer nicht komprimierten Zip-Datei) gespeichert:
[
{
"id":"2a6a731a919ae5d90ec7fb223e",
"class":"sheet",
"title":"Carte 1",
"rootTopic":{
"id":"b9aa22deba98b3b20c7ac8aca2",
"class":"topic",
"title":"##FHEM##\nRaspi3B\n(mit Charly Modul)",
"structureClass":"org.xmind.ui.map.unbalanced",
"children":{
"attached":[
{
"title":"[ Anwesenheit ]",
"id":"dc7d9665-ba31-4b8c-b784-c7b562d75a81",
"children":{
"attached":[
{
"title":"structure",
"id":"1801a7d0-4c5d-45ef-be8e-cf6ea42e3d0a",
"style":{
"id":"8ac091e6-0e70-43e0-b825-364de917046d",
"properties":{
"fo:font-family":"'Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei',sans-serif",
"fo:font-style":"normal",
"fo:font-size":"14pt",
"fo:font-weight":"500",
"fo:color":"#111111",
"fo:text-align":"left",
"fo:text-decoration":"none",
"fo:text-transform":"manual",
"shape-class":"org.xmind.topicShape.hexagon",
"shape-corner":"3pt",
"line-corner":"8pt",
"line-color":"#30D8C4",
"line-class":"org.xmind.branchConnection.bight",
"line-width":"3pt",
"border-line-color":"#30D8C4",
"border-line-width":"3pt",
"svg:fill":"#8EDE99"
}
},
"children":{
"attached":[
{
"title":"strPresence",
"id":"1b92b764-226d-447f-8d9a-70a16e8ddc01",
"children":{
"attached":[
{
"title":"PRESENCE",
"id":"3f115342-88ec-47e1-84e6-a1825fe7a9c5",
"style":{
"id":"36a86f65-550a-4a88-9402-002148025f5c",
"properties":{
"fo:font-family":"'Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei',sans-serif",
"fo:font-style":"normal",
"fo:font-size":"14pt",
"fo:font-weight":"500",
"fo:color":"#111111",
"fo:text-align":"left",
"fo:text-decoration":"none",
"fo:text-transform":"manual",
"shape-class":"org.xmind.topicShape.hexagon",
"shape-corner":"3pt",
"line-corner":"8pt",
"line-color":"#30D8C4",
"line-class":"org.xmind.branchConnection.bight",
"line-width":"3pt",
"border-line-color":"#30D8C4",
"border-line-width":"3pt",
"svg:fill":"#8EDE99"
}
},
"children":{
"attached":[
{
"title":"xxx_zu_Hause",
"id":"73773734-7b1e-47ce-85e4-2a5f1d365372"
},
{
"title":"yyy_zu_Hause",
"id":"98c18e0f-36d1-4578-9431-c4fe2b7c1baa"
},
{
"title":"zzz_zu_Hause",
"id":"b2e6c145-006b-4a35-98e4-07f07746b5f4"
}
],
"summary":[
{
"title":"DOIF",
"id":"cc4b3142-8e16-46e3-ae17-ce8c10f851ea",
"style":{
"id":"587d9b7e-3c2b-4789-afbc-f803419241aa",
"properties":{
"fo:font-family":"'Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei',sans-serif",
"fo:font-style":"normal",
"fo:font-size":"14pt",
"fo:font-weight":"500",
"fo:color":"#FFFFFF",
"fo:text-align":"left",
"fo:text-decoration":"none",
"fo:text-transform":"manual",
"shape-class":"org.xmind.topicShape.ellipticrectangle",
"shape-corner":"3pt",
"line-corner":"8pt",
"line-color":"#30D8C4",
"line-class":"org.xmind.branchConnection.bight",
"line-width":"3pt",
"border-line-color":"#30D8C4",
"border-line-width":"3pt",
"svg:fill":"#50C3F7"
}
},
"children":{
"attached":[
{
"title":"di_presence_Kinder",
"id":"3768b2d2-fd68-4beb-8737-d2e11aea6f0a"
}
]
}
}
]
},
"position":{
"x":343.57989174979076,
"y":-209.37857142857152
},
"summaries":[
{
"id":"aa34590d-046f-4bb3-885a-bcd7f7250d82",
"range":"(1,2)",
"topicId":"cc4b3142-8e16-46e3-ae17-ce8c10f851ea"
}
]
}
]
}
}
]
}
},
{
"title":"dummy",
"id":"52b8edae-58dd-486f-a301-e2e1f298af72",
"style":{
"id":"d6225117-3806-42bb-9c08-432f3578f4a0",
"properties":{
"fo:font-family":"'Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei',sans-serif",
"fo:font-style":"normal",
"fo:font-size":"14pt",
"fo:font-weight":"500",
"fo:color":"#111111",
"fo:text-align":"left",
"fo:text-decoration":"none",
"fo:text-transform":"manual",
"shape-class":"org.xmind.topicShape.hexagon",
"shape-corner":"3pt",
"line-corner":"8pt",
"line-color":"#30D8C4",
"line-class":"org.xmind.branchConnection.bight",
"line-width":"3pt",
"border-line-color":"#30D8C4",
"border-line-width":"3pt",
"svg:fill":"#8EDE99"
}
},
"children":{
"attached":[
{
"title":"asc_presence",
"id":"c1eaa53c-54fb-41d1-a553-196a2bd0e262"
},
{
"title":"du_presence",
"id":"bb703db3-ded1-4c44-b808-2215efb79cb8",
"children":{
"attached":[
{
"title":"DOIF",
"id":"c4c101aa-05f1-4ddf-b5ae-8d494c9df171",
"style":{
"id":"251c2e1a-21e1-4cdb-8517-f0fb9525cf7a",
"properties":{
"fo:font-family":"'Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei',sans-serif",
"fo:font-style":"normal",
"fo:font-size":"14pt",
"fo:font-weight":"500",
"fo:color":"#FFFFFF",
"fo:text-align":"left",
"fo:text-decoration":"none",
"fo:text-transform":"manual",
"shape-class":"org.xmind.topicShape.ellipticrectangle",
"shape-corner":"3pt",
"line-corner":"8pt",
"line-color":"#30D8C4",
"line-class":"org.xmind.branchConnection.bight",
"line-width":"3pt",
"border-line-color":"#30D8C4",
"border-line-width":"3pt",
"svg:fill":"#50C3F7"
}
},
"children":{
"attached":[
{
"title":"di_Rolladen_abwesend",
"id":"162ec2cc-2cae-4754-96b9-840c0c9244fd"
}
]
}
}
]
}
}
]
}
},
{
"title":"PRESENCE",
"id":"a1326173-d8e2-4588-b433-8ae62ec72bc5",
"style":{
"id":"4c441a8c-ab9c-479a-8793-6e4402a7c2f0",
"properties":{
"fo:font-family":"'Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei',sans-serif",
"fo:font-style":"normal",
"fo:font-size":"14pt",
"fo:font-weight":"500",
"fo:color":"#111111",
"fo:text-align":"left",
"fo:text-decoration":"none",
"fo:text-transform":"manual",
"shape-class":"org.xmind.topicShape.hexagon",
"shape-corner":"3pt",
"line-corner":"8pt",
"line-color":"#30D8C4",
"line-class":"org.xmind.branchConnection.bight",
"line-width":"3pt",
"border-line-color":"#30D8C4",
"border-line-width":"3pt",
"svg:fill":"#8EDE99"
}
},
"children":{
"attached":[
{
"title":"Residents",
"id":"784b759b-ccbc-4d2e-9e1e-1e320af2638a",
"children":{
"attached":[
{
"title":"ROOMMATE",
"id":"3d1f17d5-f95a-4cf1-9d9e-1edfe97153cd",
"style":{
"id":"791a40f6-9d20-4fdd-95e4-c967a201b036",
"properties":{
"fo:font-family":"'Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei',sans-serif",
"fo:font-style":"normal",
"fo:font-size":"14pt",
"fo:font-weight":"500",
"fo:color":"#111111",
"fo:text-align":"left",
"fo:text-decoration":"none",
"fo:text-transform":"manual",
"shape-class":"org.xmind.topicShape.hexagon",
"shape-corner":"3pt",
"line-corner":"8pt",
"line-color":"#30D8C4",
"line-class":"org.xmind.branchConnection.bight",
"line-width":"3pt",
"border-line-color":"#30D8C4",
"border-line-width":"3pt",
"svg:fill":"#8EDE99"
}
},
"children":{
"attached":[
{
"title":"xxx",
"id":"477dbaea-ca00-4cd1-b380-ed22e4026a57"
},
{
"title":"yyy",
"id":"75ebf57b-8688-46e0-9d67-388f148638a4"
},
{
"title":"zzz",
"id":"5f22f84b-1583-4b50-9b18-102c786af6f6"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"title":"[ Rollladen ]",
"id":"0ce0141b-79cd-4f8e-9aea-f08b5e557000",
"children":{
"attached":[
{
"title":"AutoShuttersControl",
"id":"acc707b6-edf8-48da-9851-462d3f331a7a",
"style":{
"id":"baf590e3-afcf-4d20-b8db-008618866b50",
"properties":{
"fo:font-family":"'Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei','sans-serif','Montserrat','NeverMind','Microsoft YaHei','PingFang SC','Microsoft JhengHei',sans-serif",
"fo:font-style":"normal",
"fo:font-size":"14pt",
"fo:font-weight":"500",
"fo:color":"#111111",
"fo:text-align":"left",
"fo:text-decoration":"none",
"fo:text-transform":"manual",
"shape-class":"org.xmind.topicShape.hexagon",
"shape-corner":"3pt",
"line-corner":"8pt",
"line-color":"#30D8C4",
"line-class":"org.xmind.branchConnection.bight",
"line-width":"3pt",
"border-line-color":"#30D8C4",
"border-line-width":"3pt",
"svg:fill":"#8EDE99"
}
},
"children":{
"attached":[
{
"title":"asc",
"id":"440ca369-f752-4009-a32d-850df730a24d"
}
]
}
},
{
"title":"CUL_HM",
...
Aber das sollte auch noch mit XML gehen.
@Christoph Morrison: Na, mal langsam. Sagen wir 2005 - das war die große Zeit von XSLT. Da habe ich auf Basis von Apache Cocoon ein ganzes Geoinformationssystem auf XSLT-Basis geschrieben.
Edit: Und das Schema bzw. die DTD macht mein Lieblings-Editor oXygen automatisch.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 22 Dezember 2020, 12:53:29
@Christoph Morrison: Na, mal langsam. Sagen wir 2005 - das war die große Zeit von XSLT. Da habe ich auf Basis von Apache Cocoon ein ganzes Geoinformationssystem auf XSLT-Basis geschrieben.
Ich kontere mit der (letzten) großen Brockhaus Enzyklopädie in 20 Bänden, für die ich die Datenstrukturierung und die Konvertierungsprozesse in die verschiedenen Formate (USB-Stick, Druck, Online) geschrieben habe - auch mit XSLT und ganz vielen fiesen Fallstricken - und einer eigenen Unicode-Repräsentation, denn UTF-8 gab es da zwar schon, aber nur wenig Tools und vor allem gab es eine sehr kaputte alte Datenbasis. RIP BIFAB.
Das war allerdings schon irgendwann Ende 2002.
Und ich erinnere mich, mich etwa 2007 vor Hipster-Webentwicklern ganz schamhaft geoutet zu haben, dass ich noch XML benutze und nicht das neue coole JSON ;-)
Für faule Web-Entwickler mag ja JSON schon 2005 eine Alternative gewesen sein. Allerdings gibt es bis heute für JSON kein elegantes Äquivalent zur funktionalen Programmierung mit XSLT auf XML, und 3D-Beschreibungssprachen wie COLLADA oder die 2D-Beschreibungssprache SVG sind immer noch ungeschlagen. Das war das scharfe an diesem GIS, für das ich auch einen netten Preis bekommen habe.
LG
pah
Hier mal ein erster Schritt für die Umwandlung einer FHEM-Konfiguration in eine XML-Datei:
sub writeXML(){
my $out = "<fhem>\n";
foreach my $device (sort keys %defs) {
my $type = $defs{$device}{TYPE};
my $name = $defs{$device}{NAME};
$out .= " <$type ID=\"$name\">\n";
foreach my $att (sort keys %{$attr{$name}} ){
$out .= " <$att>".$attr{$name}{$att}."</$att>\n";
}
$out .= " </$type>\n";
}
$out .= "</fhem>\n";
return $out;
}
LG
pah
Ich habe noch weiter über die Sache nachgedacht (Wetter ist immer noch mies, Baumärkte zu...).
XMind bietet hier eigentlich keine Vorteile - denn die hierarchische Gliederung stimmt natürlich nicht immer mit den Strukturen inFHEM überein.
yEd wäre m.E. von den Grafikfähigkeiten her sehr viel besser, die Dateien sind auch einfaches XML und somit generierbar.
LG
pah
Unabhängig von der Frage des Frontends hier mal ein Versuch, das dahingehend zu erweitern, dass zumindest die aus NOTIFYDEF abzuleitenden Verbindungenen noch nach "linkedto" kommen:
sub writeXML {
my $out = "<fhem>\n";
for my $device (sort keys %defs) {
my $type = $defs{$device}{TYPE};
my $name = $defs{$device}{NAME};
$out .= qq(<$type ID="$name">\n);
if (defined $defs{$device}{NOTIFYDEV}) {
my @andev;
my @sndev = split /,/, $defs{$device}{NOTIFYDEV};
for (@sndev){
push @andev, devspec2array($_);
}
push my @cleandev, grep { $_ !~ m{\Aglobal\z}xms } @andev;
if (@cleandev) {
$out .= '<linkedto>';
$out .= join( " ", @cleandev );
$out .= "</linkedto>\n";
}
}
for my $att (sort keys %{$attr{$name}} ){
$out .= " <$att>".$attr{$name}{$att}."</$att>\n";
}
$out .= " </$type>\n";
}
$out .= "</fhem>\n";
return $out;
}
Ich möchte mal XML::Dumper (https://metacpan.org/pod/XML::Dumper) in den Ring werfen, mit dem man Perl-Datenstrukturen in XML exportieren (und wieder importieren) kann. Darauf könnte man ein Stylesheet anwenden um eine menschenlesbarere Repräsentation von Daten zu bekommen - oder man transformiert $defs erstmal um.
Ob nun das eine oder andere, zu beachten ist, dass man mit den {DEF}-Parametern nicht die Wohlgeformheit stört, also müssen z.B. "<" in "<" umgewandelt werden.
Desweiteren sehen die Knoten für XMind (in der XML-Version) so aus:
<topic id="47d7uglkglem5b6dqs70ehta3g" modified-by="phenning"
timestamp="1608704625429">
<title>WZ.6x</title>
</topic>
und in der GraphML-Datei für yEd:
<node id="n1">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="65.0" width="299.0" x="634.5" y="609.0"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="24" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="282.0625" x="8.46875" xml:space="preserve" y="16.53125">Perl Laufzeitumgebung<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
<y:Shape type="roundrectangle"/>
</y:ShapeNode>
</data>
</node>
Die Verbindungen in XMind ergeben sich durch die Anordnung in der Baumstruktur - das ist m.E. eben etwas zu unflexibel für FHEM. Den ganzen Attributkram für yEd könnte man in Default-Attribute auslagern.
LG
Inspiriert durch diesen Thread habe ich weblink mit dem "associatedWith" Mode erweitert, was die bereits vorhandene, in ZWave und MQTT2_DEVICE fuer zigbee verwendbare Topologie-Darstellung mit der "Probably associated with" Beziehung "kreuzt".
Angehaengt ist die Ausgabe von "defmod aw weblink associatedWith rgr_Residents 3" aus fhem.cfg.demo, wobei rgr_Residents der Ausgangspunkt (ein devspec) ist, und 3 die (optionale) Tiefe der Link-Verfolgung. Die Darstellung schaut am Anfang (noch) chaotischer aus, ich habs manuell sortiert.
Klingt einleuchtend ! Und bietet eine gute Übersicht. Dies zusammen mit dem ersteren Design ergäbe für mich persönlich ein sehr respektables Ergbenis. Danke fürs Teilen. Lg
Zitat von: rudolfkoenig am 23 Januar 2021, 18:42:04
Inspiriert durch diesen Thread habe ich weblink mit dem "associatedWith" Mode erweitert, was die bereits vorhandene, in ZWave und MQTT2_DEVICE fuer zigbee verwendbare Topologie-Darstellung mit der "Probably associated with" Beziehung "kreuzt".
Angehaengt ist die Ausgabe von "defmod aw weblink associatedWith rgr_Residents 3" aus fhem.cfg.demo, wobei rgr_Residents der Ausgangspunkt (ein devspec) ist, und 3 die (optionale) Tiefe der Link-Verfolgung. Die Darstellung schaut am Anfang (noch) chaotischer aus, ich habs manuell sortiert.
Hallo Rudi.
Alter Beitrag, aber heute noch mal genauer durchgelesen nachdem ich etwas Zeit habe.
In der Hilfe zum
weblink fehlt ein
<br> bei
Zitat<code>
define homepage weblink link http://fhem.de<br>
define webcam_picture weblink image http://w.x.y.z/current.jpg<br>
define interactive_webcam weblink iframe http://w.x.y.z/webcam.cgi<br>
define hr weblink htmlCode <hr><br>
define w_Frlink weblink htmlCode { WeatherAsHtml("w_Frankfurt") }<br>
define systemCommands weblink cmdList
pair:Pair:set+cul2+hmPairForSec+60
restart:Restart:shutdown+restart
update:UpdateCheck:update+check<br>
define aw weblink associatedWith rgr_Residents 3
</code>
In Bezug auf :
define aw weblink associatedWith rgr_Residents 3
schade das diese Funktion keine Beachtung in der Hilfe bekommen hat.
Ich wollte schon immer ein Überblick über meine FHEM-Installation haben und hatte vor Monaten etwas mit devspec2array und Graphviz rum probiert.
War jetzt Überrascht als ich das Define von deinem kurzen Satz bei mir probiert habe und das "rgr_Residents" durch den Device-Namen meiner HMCCU ersetzt habe :=)
Ein
defmod aw weblink associatedWith d_ccu 10
zeigt einiges auf.
Gibt es den die Möglichkeit das ganze von FHEM aus als zentraler Punkt zu sehen?
Ist das "global" ? Da wird der Platz knapp im Browser-Fenster. In Opera lässt sich das leider nicht nach Rechts scrollen.
Bei Auto-Layout verschiebt sich alles nach Rechts.
Könnte man die Ausgabe exportieren um sie dann mit Graphviz extern anschauen zu können?
Das hier z.B. https://graphviz.org/Gallery/twopi/twopi2.html (https://graphviz.org/Gallery/twopi/twopi2.html) sieht passend aus.
Danke auf diesem Wege für FHEM.
Gruss Gerd
ZitatIn der Hilfe zum weblink fehlt ein <br> bei [...]
Danke, habs korrigiert.
ZitatGibt es den die Möglichkeit das ganze von FHEM aus als zentraler Punkt zu sehen?
Es verwendet die getPawList() (Probably Associated Width), was wiederum neben der Analyse der Definitionszeile auch das associatedWidth Reading auswertet (Komma oder Leerzeichen separierte Liste). Wenn man sich die Muehe macht, diese Readings zu pflegen, dann ist auch eine Gasamtansicht denkbar.
ZitatDa wird der Platz knapp im Browser-Fenster.
Endlich ein Grund fuer die Anschaffung eines grossen Monitors :)
ZitatBei Auto-Layout verschiebt sich alles nach Rechts.
Auto-Layout ist nicht prickelnd, aber man kann waehrend des Layouts, einzelne Elemente anfassen, und dran ziehen, schaut lustig aus.
Es ist eher als Ausgangspunkt fuer die manuelle Anpassung zu verwenden.
ZitatKönnte man die Ausgabe exportieren um sie dann mit Graphviz extern anschauen zu können?
Ich fuerchte da ist perl dein Freund in Kombination mit getPawList().
Oder eine beliebige Programmiersprache bei der Verwendung von "list -R"
Hallo Rudi,
danke fürs ändern und die Info.
Muss ich mir anschauen um was es da genauer geht :=)
ZitatEndlich ein Grund für die Anschaffung eines großen Monitors
Ich hab schon ein 27" und 19" Monitor aber die Ausgabe verschiebt sich ja erst einmal nach Rechts.
Ist halt eine Fleißarbeit wenn man das verschiebt.
Ich hab auch schon Beta-Users Code verwendet um das zu probieren.
Bekomme auch schon DOT-Datei ausgegeben aber noch etwas flach.
Gruß Gerd