Diskussion zum configDB Workshop

Begonnen von kumue, 31 Mai 2016, 17:22:53

Vorheriges Thema - Nächstes Thema

marvin78

#15
Es hat auch niemand behauptet, dass man nicht nachfragen darf. Nachfragen mit Substanz in der Art: ich habe das und das versucht (mit genauer Beschreibung), aber es funktioniert nicht mit der und der Fehlerbeschreibung, sind sogar sehr erwünscht. Genau das ist es, wie so ein Forum funktioniert. Es ist NICHT dazu da, jedem sein Kochrezept zu geben, aber sehr wohl, um ihm auf die Sprünge zu helfen.

Dein Spruch  oben ist unangebracht und auch nicht lustig. Und steht in keinem Verhältnis zu dem Rest deines Beitrags. Es gibt nicht nur schwarz und weiß. Siehe es mal aus der Sicht der Helfer, die sich alle, entgegen manch anderer, oft engstirniger Meinung, gerade im FHEM Forum sehr viel Mühe geben (wenn der Hilfesuchende erkennen lässt, dass er Hilfe annimmt). Du machst das Forum ständig schlecht. Es ist aber alles andere als das. Ich bin ich vielen Bereichen unterwegs und es gibt kaum ein Forum, das so viele geduldige und helfende User hat, wie dieses hier.

Elektrolurch

Zitat:
Aber warum nimmst Du nicht den in fhem verfügbaren Editor codemirror zum Bearbeiten?
Das bietet Dir ein paar Vorteile:

Vielleicht habe ich es noch nicht gefunden, aber der eingebaute Editor hat nicht die Möglichkeit, auf eine bestimmte Zeile zu springen. Das benötigt man, wenn man beim Abspeichern perl - Syntaxfehler hat. Daher nehme ich dann immer NodPatd+. Damit geht es dann schneller, die falsche Stelle im Code zu finden.

Ok. Die nächste Frage ist ja im Beitrag davor schon fast beantwortet worden. Für eine andere Anwendung würde ich irgendwann mal eine mysql installieren. Dann wäre es vermutlich doch sinnvoller, die gleich für die configdb zu verwenden?  Vielleicht kann man der einfachheithalber den ersten Beitrag diesbezüglich doch noch ergänzen....

Elektrolurch


configDB und Windows befreite Zone!

Beta-User

Zitat von: betateilchen am 31 Mai 2016, 15:41:48

Wichtig: Keine Angst haben!
Die vorhandenen Konfigurationsdateien werden bei der beschriebenen Migration nicht angetastet und nicht verändert!
FHEM kann nach dem Test jederzeit wieder mit fhem.cfg gestartet werden.

@ Betateilchen,

Vorab: Danke, für den Workshop, meine "Angst" vor Datenbanken hat sich deutlich minimiert!

In der Rückschau habe ich jetzt dann zum einen nochmal die (englische) commandref überflogen und auch diverse Punkte, die mir noch unklar waren im Forum gefunden. Dickes Lob, das ist -wie die Umstellungsanleitung auch - alles zwar knapp gefaßt, aber sehr gut nachvollziehbar. Vor diesem Hintergrund folgende Anmerkungen:

Wenn ich mich mit was neuem beschäftige, sehe ich mir in der Regel die commandref und das Wiki an; wenn es entsprechende Threads gibt auch diese (na ja, jedenfalls bis zu einem gewissen Punkt, oft wird es entweder sehr speziell oder es geht vom eigentlichen Thema weg). In der commandref steht für einen Datenbank-Newbie wie mich erst mal nur irgendwas zwischen Bahnhof und Abfahrt; es ist so wie es sein sollte - eine technische Referenz, die ein gewisses Grundwissen voraussetzt.

Das Wiki ist mehr oder weniger der Hinweis, dass es die Option der configDB gibt und welche DB-Systeme derzeit unterstützt werden. Das sagt mir als Normaluser: nichts...

Tür ins Haus:
Der Wikieintrag zu dblog ist da m.E. vorbildlich und es wäre evtl. eine Überlegung, das auch in diese Richtung für configdb etwas "aufzuhübschen". Ist eigentlich nicht viel Arbeit, da ja alles (allerdings verstreut) da ist, vorstellen würde ich mir das in die Richtung:
- Beginnt mit: Für wen interessant? => Leute, die z.B.
-- eine Versionierungsmöglichkeit haben wollen, wenn sie Dinge austesten.
-- nicht ständig immer wieder dieselben Daten aus dem Internet ziehen wollen, die sich gar nicht/seltenst ändern (z.B. Ferienkalender oder Mülltermine, wobei das vermutlich auch auf andere Weise geht)
- (Dann die notwendigen Dinge, die in der FHEM-Konfiguration anzupassen sind, das ist bei configDB nicht relevant).
- Wie mache ich es als Normaluser?
=> Der Workshop hier, wobei mir als Standard-PI-user einige sudo's gefehlt haben und mir auch nicht mehr präsent war, dass fhem als Service läuft und daher sinnvollerweise auch so gestoppt werden kann.
=> beim global-device prüfen, ob configDB korrekt eingestellt ist, FHEM mit dieser Konfiguration also läuft
=> wie mache ich es permanent (=idR. "/etc/init.d/fhem" editieren, in meinem Fall wohl auch die nutzlosen "include"-Reste löschen/wegspeichern)

Neu sollten m.E. dazu
- Backup, Notfallstrategie und Umkehrbarkeit
-- (für sqlite: DB-file kann genauso durch ein einfaches Kopieren gesichert werden wie seither die fhem.cfg)
-- Starten im Notfallmodus (https://forum.fhem.de/index.php/topic,46538.0.html)
-- zurück zu fhem.cfg über attr global... + save + Änderung des Startscripts (init.d)

- Hinweis auf sqlite-Basics (da reicht m.E. ein purer Verweis auf das, was bei dblog schon steht).

- Zum Abschluß/zur Abrundung des Werbeeffekts vielleicht noch der Rückblick auf den Appetizer (warum überhaupt)
-- wie lasse ich mir die letzten 4 Änderungen eines bestimmten Devices anzeigen (ich weiß, steht min. ansatzweise in der commandref)
-- wie importiere ich die Ferien-icals der kommenden 2 Schuljahre/meinen Müllkalender oder was auch immer... (den Teil mit dem Importieren habe ich bislang noch nicht kapiert, allerdings hab' ich es auch noch nicht versucht)

Nix für ungut!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

JoWiemann

Hallo,

anbei, für alle Englischmuffel die deutsche Übersetzung für die command.ref.


=begin html de

<a name="configdb"></a>
<h3>configdb</h3>
<ul>
Beginnend mit der Version 5079 ist es möglich Fhem über eine Konfigurationsdatenbank, anstatt über reine Textdateien (z.B. fhem.cfg), zu Konfigurieren.<br/>
Somit wird die Möglichkeit eröffnet komplett auf die cfg-Dateien und alle damit verbundenen Probleme zu verzichten.<br/>
Weiterhin ermöglicht configDB eine Versionierung von unterschiedlichen Konfigurationen verbunden mit der Möglichkeit auf beliebige vorher gehende Konfiguarionen zurück zu gehen.<br/>
Der Zugriff auf die Datenbank erfolgt über das Perl-Datenbank-Interface DBI.<br/>
<br/>

<b>Interakation mit anderen Modulen</b><br/>
<ul><br/>
Aktuell benutzen folgende Fhem-Module<br/>
<br/>
<li>02_RSS.pm</li>
<li>55_InfoPanel.pm</li>
<li>91_eventTypes</li>
<li>93_DbLog.pm</li>
<li>95_holiday.pm</li>
<li>98_SVG.pm</li>
<br/>
configDB um ihre Konfiguration in der Datenbank vorzuhalten,<br/>
anstatt sie in Konfigurationsdateien im Dateisystenm abzulegen.<br/>
<br/>
Hierzu ist es notwendig die Konfiguartionsdateien in die Datenbank zu importieren.<br/>
<br/>
Beispile:<br/>
<code>configdb fileimport FHEM/nrw.holiday</code><br/>
<code>configdb fileimport FHEM/myrss.layout</code><br/>
<code>configdb fileimport www/gplot/xyz.gplot</code><br/>
<br/>
<b>Der Import, die Migration hat keine negativen Auswirkungen aud die Definitionen Deiner holiday oder RSS Objekte.</b><br/>
<br/>
<b>Während der Migration werden alle Konfiguartionsdateien der aktuellen Konfiguration<br/>
automatisch importiert.</b><br>
<br/>
Bei einem Import werden bestehende Einträge früherer Imports in die Datenbank überschrieben.<br/>
<br/>
</ul><br/>
<br/>

<b>Voraussetzungen / Installation</b><br/>
<ul><br/>
<li>Bitte zunächst das Perl Packet Text::Diff, sofern noch nicht geschehen, installieren.</li><br/>
<li>sudo apt-get update</li><br/>
<li>sudo apt-get install libtext-diff-perl</li><br/><br/>
<li>Eine weitere Voraussetzung ist eine installierte Datenbank. Unterstützt werden SQLITE, MYSQL und POSTGRESQL.</li><br/>
<li>Für die Installation einer Datenbankunterstützung findest Du im Internet ausreichend detailierte Beschreibungen.</li><br/>
<li>Weiterhin das dazugehörende Perl DBD Modul,<br/><br/>
z.B. für sqlite3 unter Debian Systemen wird das Paket libdbd-sqlite3-perl benötigt</li><br/>
<li>Als nächstes muss eine leere Datenbank angelegt werden, z.B. mit sqlite3:<br/>
<pre>
mba:fhem Dein_Datenbanname$ sqlite3 configDB.db

SQLite version 3.7.13 2012-07-17 17:46:21
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> pragma auto_vacuum=2;
sqlite> .quit

mba:fhem Dein_Datenbanname$
</pre></li>
<li>Die dazugehörenden Tabellen werden automatisch angelegt.</li><br/>
<li>Jetzt ist eine Konfigurationsdatei, in der die Verbindungsinformationen zur Datenbank hinterlegt werden, anzulegen.<br/>
<br/>
<b>WICHTIG:</b>
<ul><br/>
<li>Diese Datei <b>muss</b> den Namen "configDB.conf" haben. Bitte hier auf Groß/Kleinschreibung achten.</li>
<li>Diese Datei <b>muss</b> sich im selben Verzeichnis wie die fhem.pl und die configDB.pm, z.B. /opt/fhem befinden.</li>
</ul>
<br/>
<pre>
## für MySQL
################################################################
#%dbconfig= (
# connection => "mysql:database=configDB;host=db;port=3306",
# user => "fhemuser",
# password => "fhempassword",
#);
################################################################
#
## für PostgreSQL
################################################################
#%dbconfig= (
#        connection => "Pg:database=configDB;host=localhost",
#        user => "fhemuser",
#        password => "fhempassword"
#);
################################################################
#
## für SQLite (username and password stay empty for SQLite)
################################################################
#%dbconfig= (
#        connection => "SQLite:dbname=/opt/fhem/configDB.db",
#        user => "",
#        password => ""
#);
################################################################
</pre></li><br/>
</ul>

<b>Start mit einer komplett neuen "frischen" Fhem Installation</b><br/>
<ul><br/>
Es ist einfach... starte Fhem mit folgendem Aufruf:<br/><br/>
<ul><code>perl fhem.pl configDB</code></ul><br/>

<b>configDB</b> ist das Schlüsselwort über das Fhem angewiesen wird die Datenbank für die Konfiguration zu benutzen.<br/>
<br/>
<b>Das wars...</b> Alle Aktionen, wie save, rereadcfg usw. sollten nun wie erwartet funktionieren.
</ul>

<br/>
<b>or:</b><br/>
<br/>

<b>Automatischer Start von Fhem mit configdb</b><br/>
<ul><br/>
Es ist einfach... editiere unter /etc/init.d die datei fhem und ändere den Aufruf:<br/><br/>
<ul><code>perl fhem.pl fhem.cfg</code></ul><br/>
in:<br/><br/>
<ul><code>perl fhem.pl configDB</code></ul><br/>

<b>configDB</b> ist das Schlüsselwort über das Fhem angewiesen wird die Datenbank für die Konfiguration zu benutzen.<br/>
<br/>
<b>Das wars...</b> Alle Aktionen, wie save, rereadcfg usw. sollten nun wie erwartet funktionieren.
</ul>

<br/>
<b>or:</b><br/>
<br/>

<b>Migration einer bestehenden Fhem Konfiguration in die Datenbank.</b><br/>
<ul><br/>
Auch das ist einfach... <br/>
<br/>
<li>Starte Fhem ein letztes Mal mit der fhem.cfg<br/><br/>
<ul><code>perl fhem.pl fhem.cfg</code></ul></li><br/>
<br/>
<li>Transferiere die bestehende Konfiguration in die Datenbank<br/><br/>
<ul>Gib<br/><br/><code>configdb migrate</code><br/>
<br/>
in die Kommandozeile im Fhem Webfrontende ein.</ul><br/></br>
Nun bitte etwas Geduld! Die Migration kann etwas Zeit in Anspruch nehmen, insbesondere bei Kleincomputern wie RaspberryPi oder Beaglebone.<br/>
Das Ende der Migration wird durch einen Datenbankstatus im Frontend angezeigt.<br/>
Die original Konfigurationsdateien werden während der Migration weder verändert noch gelöscht.</li><br/>
<li>Beende Fhem durch Eingabe von shutdown in der Kommandozeile.</li><br/>
<li>Nun erfolgt der neustart von Fhem mit dem Schlüsselwort configDB<br/><br/>
<ul><code>perl fhem.pl configDB</code></ul></li><br/>
<b>configDB</b> ist das Schlüsselwort über das Fhem angewiesen wird die Datenbank für die Konfiguration zu benutzen.<br/>
<br/>
<b>Das wars...</b> Alle Aktionen, wie save, rereadcfg usw. sollten nun wie erwartet funktionieren.
</ul>
<br/><br/>

<b>Zusätzliche Funktionen</b><br/>
<ul><br/>
Das neue Kommando <code>configdb</code> wird in Fhem bereit gestellt.<br/>
und kann mit unterschiedlichen Parametern genutzt werden.<br/>
<br/>

<li><code>configdb attr [attribute] [value]</code></li><br/>
Hierdurch werden Werte an Attribute des configdb-Moduls im Backend und Frontend weiter geben.<br/>
<br/>
<code> configdb attr private 1</code> - Setze das Attribut mit dem Namen 'private' auf den Wert 1.<br/>
<br/>
<code> configdb attr private</code> - Lösche das Attribut mit dem Namen 'private'<br/>
<br/>
<code> configdb attr</code> - Zeige alle definierten Attribute.<br/>
<br/>
Aktuell wird nur ein Attribut unterstützt. Wenn 'private' auf den Wert 1 gesetz wird, wird die User und Password Information<br/>
in der 'configdb info' Ausgabe nicht angezeigt.<br/>
<br/>

<li><code>configdb diff &lt;device&gt; &lt;version&gt;</code></li><br/>
Vergleiche den Konfigurationsstand für das Device &lt;device&gt;
der aktuellen Konfiguartion 0 mit der Version &lt;version&gt;<br/>
Beispiel für eine gültige Anfrage:<br/>
<br/>
<code>configdb diff telnetPort 1</code><br/>
<br/>
führt zu einer beispielhaften Anzeige:
<pre>
compare device: telnetPort in current version 0 (left) to version: 1 (right)
+--+--------------------------------------+--+--------------------------------------+
| 1|define telnetPort telnet 7072 global  | 1|define telnetPort telnet 7072 global  |
* 2|attr telnetPort room telnet           *  |                                      |
+--+--------------------------------------+--+--------------------------------------+</pre>
<b>Spezial: configdb diff all current</b><br/>
<br/>
Hierdurch wird ein Versionsabgleich aller gesicherten Versionen zur Version 0 <br/>
und sich im Speicher befindlichen noch nicht gesicherten Version (also der aktuell laufenden Installation).<br/>
<br/>

<li><code>configdb dump</code></li><br/>
Schreibt ein "dump file" der Datenbank.<br/>
<br/>
<br/>

<li><code>configdb filedelete &lt;Filename&gt;</code></li><br/>
Löscht eine Konfigurationsdatei, z.B. nrw.holiday, aus der Datenbank.<br/>
<br/>
<br/>

<li><code>configdb fileexport &lt;targetFilename&gt;</code></li><br/>
Exportiert die angegebene Konfigurationsdatei oder Fhem Datei aus der Datenbank in das Dateisystem.<br/>
Beispiel:<br/>
<br/>
<code>configdb fileexport FHEM/99_myUtils.pm</code><br/>
<br/>
<br/>

<li><code>configdb fileimport &lt;sourceFilename&gt;</code></li><br/>
Importiert die angegebene Konfigurationsdatei oder Fhem Datei in die Datenbank.<br/>
Beispiel:<br/>
<br/>
<code>configdb fileimport FHEM/99_myUtils.pm</code><br/>
<br/>
<br/>

<li><code>configdb filelist</code></li><br/>
Zeigt alle in der Datenbank gespeicherten Konfigurationsdateien / Fhem Dateien.<br/>
<br/>
<br/>

<li><code>configdb filemove &lt;sourceFilename&gt;</code></li><br/>
Importiert die angegebene Konfigurationsdatei oder Fhem Datei in die Datenbank und<br/>
löscht danach die Dateien aus dem lokalen Dateisystem.<br/>
Beispiel:<br/>
<br/>
<code>configdb filemove FHEM/99_myUtils.pm</code><br/>
<br/>
<br/>

<li><code>configdb fileshow &lt;Filename&gt;</code></li><br/>
Zeigt den Inhalt der in der Datenbank gespeicherten Konfigurationsdatei / Fhem Datei.<br/>
<br/>
<br/>

<li><code>configdb info</code></li><br/>
Anzeige von Datenbankstatistiken<br/>
<pre>
--------------------------------------------------------------------------------
configDB Database Information
--------------------------------------------------------------------------------
dbconn: SQLite:dbname=/opt/fhem/configDB.db
dbuser:
dbpass:
dbtype: SQLITE
--------------------------------------------------------------------------------
fhemconfig: 7707 entries

Ver 0 saved: Sat Mar  1 11:37:00 2014 def: 293 attr: 1248
Ver 1 saved: Fri Feb 28 23:55:13 2014 def: 293 attr: 1248
Ver 2 saved: Fri Feb 28 23:49:01 2014 def: 293 attr: 1248
Ver 3 saved: Fri Feb 28 22:24:40 2014 def: 293 attr: 1247
Ver 4 saved: Fri Feb 28 22:14:03 2014 def: 293 attr: 1246
--------------------------------------------------------------------------------
fhemstate: 1890 entries saved: Sat Mar  1 12:05:00 2014
--------------------------------------------------------------------------------
</pre>
Ver 0 referenziert immer auf die aktuell laufende Konfiguration.<br/>
<br/>

<li><code>configdb list [device] [version]</code></li><br/>
Sucht nach dem device mit dem Namen [device] in der gespeicherten Konfiguration [version]<br/>
im Datenbakarchiv.<br/>
Default Wert [device] = % zeigt alle Devices.<br/>
Default Wert [version] = 0 zeigt die Devices der aktuellen Konfiguration.<br/>
Beispiele für zulässige Anfragen:<br/>
<br/>
<code>get configDB list</code><br/>
<code>get configDB list global</code><br/>
<code>get configDB list '' 1</code><br/>
<code>get configDB list global 1</code><br/>
<br/>

<li><code>configdb recover &lt;version&gt;</code></li><br/>
Stellt eine historische Version aus dem Datenbankarchiv wieder her.<br/>
<code>configdb recover 3</code> <b>kopiert</b> die Version #3 im Datenbankarchiv
in die Version #0.<br/>
Hierdurch wird die aktuelle Version #0 überschrieben.<br/><br/>
<b>Wichtig!</b><br/>
Die wiederhergestellt Version <b>wird nicht</b> automatisch aktiviert!<br/>
Hierzu ist es notwendig durch <code>rereadcfg</code> oder besser - <code>shutdown restart</code> einen Neustart zu veranlassen.<br/>
<br/>

<li><code>configdb reorg [keep]</code></li><br/>
Löscht alle gespeicherten Version größer [keep] aus dem Datenbankarchiv.<br/>
Der Vorgabewert für ist keep = 3.<br/>
Diese Funktion kann z.B. für einen nächtlichen reorganisations Job über eine at-Definition genutzt werden.<br/>
<br/>

<li><code>configdb search <searchTerm> [searchVersion]</code></li><br/>
Sucht nach eine speziellen Suchbegriff in der vorgegeben Version (default=0)<br/>
<pre>
Example:

configdb search %2286BC%

Result:

search result for: %2286BC% in version: 0
--------------------------------------------------------------------------------
define az_RT CUL_HM 2286BC
define az_RT_Clima CUL_HM 2286BC04
define az_RT_Climate CUL_HM 2286BC02
define az_RT_ClimaTeam CUL_HM 2286BC05
define az_RT_remote CUL_HM 2286BC06
define az_RT_Weather CUL_HM 2286BC01
define az_RT_WindowRec CUL_HM 2286BC03
attr Melder_FAl peerIDs 00000000,2286BC03,
attr Melder_FAr peerIDs 00000000,2286BC03,
</pre>
<br/>

<li><code>configdb uuid</code></li><br/>
Gibt eine uuid für eigene Zwecke zurück.<br/>
<br/>

</ul>
<br/>
<br/>
<b>Anmerkungen des Autors</b><br/>
<br/>
<ul>
<li>Für eine schnelle Installation sind zwei Beispiele für Datenbank und Konfigurationsdatei (sqlite only!) vorhanden.<br/>
Einfach in das Fhem Installationsverzeichnis kopieren (z.B. /opt/fhem) und los legen.</li>
<br/>
<li>Die Fhem Frontend Option "Edit files"-&gt;"config file" wird nicht mehr angezeigt, wenn configDB genutzt wird.</li>
<br/>
<li>Sei geduldig, wenn Du "save" ausführtst.
(unabhängig ob manuell oder durch klicken auf "save config").<br/>
Das Modul braucht etwas Zeit, um die Versionsinformationen in die Datenbank zu schreiben.<br/>
Das erfolgreiche sichern wird durch eine Meldung im Frontend angezeigt.</li>
<br/>
<li>In Planung befinden sich weitere Funtionen, vor allem aber Performanceverbesserungen.</li>
<br/>
<li>Und nun, viel Spaß und alles wird gut!</li>
</ul>

</ul>

=end html_DE
=cut


Vielleicht mag Betateilchen sie ja übernehmen.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

betateilchen

Ganz klares und mit mir nicht verhandelbares Statement zu den letzten zwei Beiträgen:


  • Von mir wird es keinen Wiki Eintrag zur configDB geben. Und ich möchte eigentlich auch keinen von jemandem anderen verfassten Wikieintrag haben. Warum ich das so klar sage, habe ich im Forum schon mehrfach erklärt.
  • Es wird keine deutsche commandref geben. Die gab es nämlich schonmal, aber der Pflegeaufwand für eine zweisprachige commandref ist mir einfach zu hoch. Ausserdem ist der vorgeschlagene deutsche Text nicht aktuell.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JoWiemann

Zu 2: Ist eine Übersetzung nach Fhem Update aus dem dann verfügbarem Modul und nicht jeder spricht Englisch und ohne Deutschtümelei, wir leben in Deutschland und wenn verhandelbar würde ich die Pflege übernehmen.




Grüße Jörg

Gesendet von iPad mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

betateilchen

Schade, dass Rudi seinerzeit nicht entschieden hat, die Konfiguration von Anfang an in eine Datenbank zu legen. Dann würde heute kein Mensch so negativ darüber diskutieren.


Zitat von: joe_re am 01 Juni 2016, 10:45:09
=> Der Workshop hier, wobei mir als Standard-PI-user einige sudo's gefehlt haben

Meine Workshops gehen immer davon aus, dass man mit root-Rechten arbeitet, sonst lassen sich keine Pakete installieren. Spätestens beim Lesen der apt-get Befehle sollte das jedem klar sein. Ansonsten mangelt es dem Leser bereits an grundlegendem Linux Verständnis.

Zitat von: joe_re am 01 Juni 2016, 10:45:09
- Backup, Notfallstrategie und Umkehrbarkeit
...
-- zurück zu fhem.cfg über attr global... + save + Änderung des Startscripts (init.d)
...
-- Starten im Notfallmodus

Wenn ich in meinem Leben immer so negativ und pessimistisch gedacht hätte, wie Du es hier zum Ausdruck bringst, wäre ich längst nicht mehr am Leben.

Zitat von: joe_re am 01 Juni 2016, 10:45:09
- Hinweis auf sqlite-Basics (da reicht m.E. ein purer Verweis auf das, was bei dblog schon steht).

Das ist nicht Aufgabe des Modulautors, denn solche Basics stehen zigtausendfach im Internet. Gleiches gilt für die von Dir beschriebenen Themen Dienste starten/stoppen (auch das ist nicht modulspezifisch) und andere Punkte Deiner Liste.

Zum Thema Notfallmodus: Bis heute hat noch kein configDB Anwender diesen Modus nachgefragt. So ist es noch mit ein paar anderen, durchaus vorhandenen, Features.


Dein Beitrag ist (für mich) ein extrem negatives Beispiel dafür, wie man so eine Sache nicht begegnen sollte. Du redest viel zuviel von "zurück, Nofallmodus, Umkehrbarkeit" und anderen "schrecklichen" Dingen. Genau über die Notwendigkeit solcher Möglichkeiten soll sich der Benutzer überhaupt keine Gedanken machen müssen.


--
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: JoWiemann am 01 Juni 2016, 13:05:58
Zu 2: Ist eine Übersetzung nach Fhem Update aus dem dann verfügbarem Modul

Diese Behauptung stimmt einfach nicht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Elektrolurch

Zitat:
Ganz klares und mit mir nicht verhandelbares Statement zu den letzten zwei Beiträgen:

1. Von mir wird es keinen Wiki Eintrag zur configDB geben. Und ich möchte eigentlich auch keinen von jemandem anderen verfassten Wikieintrag haben. Warum ich das so klar sage, habe ich im Forum schon mehrfach erklärt.
2. Es wird keine deutsche commandref geben. Die gab es nämlich schonmal, aber der Pflegeaufwand für eine zweisprachige commandref ist mir einfach zu hoch. Ausserdem ist der vorgeschlagene deutsche Text nicht aktuell.

Gut, dass es Meinungsfreiheit gibt. Aber leider ist die Aussage oben ja ziemlich widersprüchlich: Kein wiki, aber jeden anraunzen, der es wagt eine Frage zu stellen, die vielleicht nicht dem hohen an sich selbst gestellten Anforderungen entspricht.
....
Und mit "englisch" stellt sich mir die Frage, wieviele englisch sprachige Nutzer fhem hat und ob die Anzahl größer ist, als die deutschsprachigen Nutzer.... Und wenn der Pflegeaufwand für zwei Sprachen zu groß erscheint, so wäre ich eher dafür, die englische Version abzushaffen oder konsequenter Weise das Forum komplett auch nur noch in englisch zu führen.

configDB und Windows befreite Zone!

betateilchen

Zitat von: Elektrolurch am 01 Juni 2016, 13:19:06
Aber leider ist die Aussage oben ja ziemlich widersprüchlich: Kein wiki, aber jeden anraunzen, der es wagt eine Frage zu stellen, die vielleicht nicht dem hohen an sich selbst gestellten Anforderungen entspricht.

Ich raunze niemanden an, der eine Frage stellt. Im Wiki steht einfach viel zu viel Mist von Leuten, die nicht verstanden haben, was sie eigentlich tun, aber dann der Meinung sind, dieses Halbwissen auch noch dokumentieren zu müssen.

Zitat von: Elektrolurch am 01 Juni 2016, 13:19:06
Und mit "englisch" stellt sich mir die Frage, wieviele englisch sprachige Nutzer fhem hat und ob die Anzahl größer ist, als die deutschsprachigen Nutzer

In den Entwicklungsrichtlinien von fhem steht, dass ein Modul, um es einchecken zu dürfen, eine englische Dokumentation haben muss. Eine zusätzliche deutsche Dokumentation ist dem Entwickler freigestellt. Und ich habe mich explizit dagegen entschieden. Die Pflege/Bereitstellung einer deutschen commandref durch jemanden anderes hilft mir nicht wirklich weiter, denn ich muss trotzdem kontrollieren, ob die deutsche Übersetzung technisch/fachlich und inhaltlich korrekt ist. Das kostet genausoviel Zeit wie eine deutsche commandref selbst zu pflegen.

Die englische commandref ist die einzige für mich als Entwickler verbindliche Dokumentationsstelle.

Es gibt übrigens noch mehr Module, die keine deutsche commandref haben, darüber diskutiert auch niemand.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Beta-User

Ok, ich habe verstanden, dass configBD ein Expertenfeature ausschließlich für Leute mit Datenbank-Vorkenntnissen bleiben soll.

Damit bin ich aus der Diskussion raus und verbleibe mit der Empfehlung, das wenigstens im Wiki und der commandref entsprechend klarzustellen (wie bei den includes, über die ich in diese Diskussion hier reingeschlittert bin)! Ob deutsch, englisch oder beides, ist mir reichlich egal. Sollte der Eindruck entstanden sein, dass die ENGLISCHE Fassung der commandref "schuld" sei: Nö, ich kann ganz gut auch mit einer nur englischen Fassung, deutsch macht es allenfalls angenehm (auch hier im Forum). Das setzt aber voraus, dass ich über die technischen Hintergründe wenigstes soviel weiß, dass ich's einordnen kann und mich selber traue (von daher hatte die sachlich korrekte englische Expertenfassung vor der ausdrücklichen Aufforderung es auch als Datenbank-Newbie doch wenigstens zu versuchen seinen Zweck voll erfüllt...).

Dann werde ich wohl heute Abend schleunigst den Rückweg in bekannte Gefielde (fhem.cfg) antreten, solange das nicht mit deutlich höherem Aufwand verbunden ist.

Tut mir leid, wenn ich eure Zeit und Nerven vergeudet haben sollte. :(
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

betateilchen

#26
Zitat von: joe_re am 01 Juni 2016, 13:34:56
Ok, ich habe verstanden, dass configBD ein Expertenfeature ausschließlich für Leute mit Datenbank-Vorkenntnissen bleiben soll.

Nein, Du hast nichts verstanden. configDB soll genau KEIN Expertenfeature sein. Und Datenbank-Vorkenntnisse sind nicht erforderlich. Genau DAS sollte der Workshop zeigen.

Natürlich können Leute mit Datenbankkenntnissen die configDB anders nutzen (beispielsweise auf mysql oder postgresql verwenden) aber für Otto Normalverbraucher gibt es prinzipiell keinen Unterschied in der Handhabung. Schon gar nicht, wenn ein Benutzer mit fhem anfängt.

Vermutlich hast Du auch noch viereckige Räder an Deiner Holzkarre, weil Du den Sinn von runden Rändern noch nicht verstanden hast und sie Dir suspekt sind, oder?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

frank

Zitat von: betateilchen am 01 Juni 2016, 13:16:58
Meine Workshops gehen immer davon aus, dass man mit root-Rechten arbeitet, sonst lassen sich keine Pakete installieren. Spätestens beim Lesen der apt-get Befehle sollte das jedem klar sein. Ansonsten mangelt es dem Leser bereits an grundlegendem Linux Verständnis.
vielleicht diesen hinweis in den ersten post kopieren, um die "angstschwelle" noch weiter zu senken.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

betateilchen

Zitat von: frank am 01 Juni 2016, 13:44:15
vielleicht diesen hinweis in den ersten post kopieren,

hab ich grade erledigt, danke.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Zitat von: joe_re am 01 Juni 2016, 13:34:56
Ok, ich habe verstanden, dass configBD ein Expertenfeature ausschließlich für Leute mit Datenbank-Vorkenntnissen bleiben soll.

Damit bin ich aus der Diskussion raus und verbleibe mit der Empfehlung, das wenigstens im Wiki und der commandref entsprechend klarzustellen (wie bei den includes, über die ich in diese Diskussion hier reingeschlittert bin)! Ob deutsch, englisch oder beides, ist mir reichlich egal. Sollte der Eindruck entstanden sein, dass die ENGLISCHE Fassung der commandref "schuld" sei: Nö, ich kann ganz gut auch mit einer nur englischen Fassung, deutsch macht es allenfalls angenehm (auch hier im Forum). Das setzt aber voraus, dass ich über die technischen Hintergründe wenigstes soviel weiß, dass ich's einordnen kann und mich selber traue (von daher hatte die sachlich korrekte englische Expertenfassung vor der ausdrücklichen Aufforderung es auch als Datenbank-Newbie doch wenigstens zu versuchen seinen Zweck voll erfüllt...).

Dann werde ich wohl heute Abend schleunigst den Rückweg in bekannte Gefielde (fhem.cfg) antreten, solange das nicht mit deutlich höherem Aufwand verbunden ist.

Tut mir leid, wenn ich eure Zeit und Nerven vergeudet haben sollte. :(

Hast Du nicht. In der Expertendiskussion ging es um sagen wir es vorsichtig externe Datenbanken. Also nicht sqlite. sqlite ist eine Art Datenbank die man in seine Anwendung integrieren kann. Es gibt jede Menge Software die dieses Format verwendet.
Für Experten gibt es aber auch die Möglichkeit eine externe "richtige" Datenbank zu verwenden. So zum Beispiel MySQL.
Ich weiß das war jetzt Leihenhaft ausgedrückt aber so kann man es sich vielleicht besser vorstellen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net