Was leistet mein FHEM denn so?

Begonnen von hankyzoolander, 12 Oktober 2020, 17:27:56

Vorheriges Thema - Nächstes Thema

hankyzoolander

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.
betateilchen  <--- my personal hero

P.A.Trick

Nett - hast du das per Hand gemacht?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

hankyzoolander

betateilchen  <--- my personal hero

P.A.Trick

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

moskito

Respekt :)
Das Thema Dokumentation füllt hier ja auch den ein oder anderen Thread, da könntest du durchaus mal deinen Lösungsansatz verteilen.
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

thorsten_automatic

Eine wirklich tolle Idee und macht eingerahmt auch was her.^^ Hut ab!
Wohltun beginnt im Haus.

Heimwerker

Wow, wirklich eine tolle Idee mit der Mindmap! Fleißpunkte gibts dazu  ;D

Heimwerker

Wann hast du denn angefangen dein Smarthome einzurichten?

amenomade

#8
Hab mal angefangen ;) Nicht jedes DOIF/notify/at ist abgebildet.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

P.A.Trick

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 :-/
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Wernieman

Vorallem da sich di9e Installation weiterentwickelt und man dann vergisst, seine Doku Weiterzupflegen ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Prof. Dr. Peter Henning

#11
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...


enno

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.
Einfacher FHEM Anwender auf Intel®NUC

Christoph Morrison

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?

amenomade

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.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus