Hallo,
ich suche mir inzwischen einen Wolf, finde aber nichts!
Jedes Kommando in der obersten Zeile im WEB Interface wird mit "
forbidden command xxxx" beantwortet. Gleichgültig ob "save" oder "update" etc. eingegeben wird.
Ich habe die fhem.cfg aus einer jungfräulichen Installation kopiert und Kleinigkeiten ergänzt:
Zitat# Standard CFG-File bei Start FHEM !!!
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global verbose 3
attr global statefile ./log/fhem.save
define WEB FHEMWEB 8083 global
# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log
define eventTypes eventTypes ./log/eventTypes.txt
# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
# Ende Standard CFG_File #############################
attr WEB editConfig 1
attr WEB longpoll websocket
attr global updateInBackground 1
define allowedWEB allowed
attr allowedWEB validFor WEB,WEBphone,WEBtablet
attr allowedWEB basicAuth { "$user:$password" eq "xxxxxx:xxxxxxxxxxxxxxx" }
attr allowedWEB allowedCommands set,get
attr allowedWEB basicAuthExpiry 90
Gleichzeitig erhalte ich einen weiteren Fehler, sobald ich Select Style aufrufe:
ZitatSyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
FHEM ist komplett upgedatet - alle Fehler sind erst danach aufgetreten!
Danke für jede Unterstützung!!!
Manfred
Dein Problem liegt in
attr allowedWEB allowedCommands set,get
Es sind nur set und get Kommandos erlaubt.
Zitatattr allowedWEB allowedCommands set,get
Somit kannst Du nur set und get Kommandos nutzen.
EDIT: marvin 15 Sek. schneller ;)
Diese Zeile ist ja eine Vorgabe beim Thema "allowed".
SOll ich sie dann komplett draußen lassen?
Nein. Das ist keine Vorgabe. Wie kommst du darauf?
Damit kannst du bestimmte FHEM Instanzen einschränken, es ergibt aber wenig Sinn bspw. deine administrative Instanz damit einzuschränken. Warum das so ist, hast du nun ja selbst gesehen.
Etwas Mitdenken ist tatsächlich erlaubt ;)
...und mach vielleicht mal Dein Passwort aus dem geposteten Coding raus (falls es echt ist) ... Die Diskussion über die Notwendigkeit eine fhem.cfg zu editieren sparen wir uns jetzt...
Wollte ich gerade sagen: attr WEB editConfig 1
ist auch keine Vorgabe! Zum Gegenteil.
Hier das Beispiel aus der FHEM Referenz:
ZitatExamples:
define allowedWEB allowed
attr allowedWEB validFor WEB,WEBphone,WEBtablet
attr allowedWEB basicAuth { "$user:$password" eq "admin:secret" }
attr allowedWEB allowedCommands set,get
Das habe ich so übernommen!
Und die Vorgabe ist nur der obere Teil bis "Ende Standard CFG_File" (# siehe Überschrift und Endzeile #####".
Da steht Example, nicht spec oder ähnliches.
Bitte beschäftige dich mit den Grundlagen, bevor du noch irgendwas weiter machst. Oben stehen noch 2 Beispiele dafür, dass du nicht weißt, was du tust.
Da steht sicher Example, aber das bedeutet für mich als 1 x pro Jahr Anwender, dass ich das so übernehmen soll!
Ich habe zwei FHEM-Installationen, die seit ca. 8 Jahren laufen.
Nur nach Updates werde ich wieder duch Fehlermeldungen, die vorher nicht vorhanden waren, zurück geworfen. Und das Problem liegt nunmal in der Häufigkeit der Grundlagenanwendung. Kaum läuft meine Steuerung (nur wenige Aktoren), ändert sich durch ein Update Wesentliches und nichts mehr läuft. Da bin ich als 1x/Jahr User natürlich aufgeschmissen und wühle mich stundenlang durchs Forum, um in vielen Fällen oft gleich Unbedarfte zu finden und teilweise "Try and Error" Antworten zu lesen.
Nochmal zum Thema "Example" . . .
Es wäre ja einfach, das Thema ist schon oft diskutiert worden, eine "Standart-CFG" einschließlich Sicherung (Kennwortschutz) in der Command-Seite zu hinterlegen. Eventuell mit Kommentaren, dann würden sich viele Fragen sofort erledigen.
Es ist mir auch klar, dass das Thema "Editieren der fhem.cfg" intensiv diskutiert wird. Ich stamme aber noch aus der Zeit, als es in PCs unter DOS die Autoexec.bat und Config.sys gab, die man editieren
musste. Ist bei mir deshalb in "Fleisch und Blut" über gegangen . . .
Mein zweites Problem ist aber bisher noch offen!
Weiß da jemand aus dem Forum eine Antwort.ZitatSyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
[/b]
--> Hat sich gerade erledigt!!!
Auch dieser Fehler ist nach Entfernung der Zeile: "attr allowedWEB allowedCommands set,get" verschwunden !!!Danke für die Unterstützung
Viele Grüße Manfred
ZitatDa steht sicher Example, aber das bedeutet für mich als 1 x pro Jahr Anwender, dass ich das so übernehmen soll!
Und das heißt es eben genau nicht denn das würde gegen den Begriff "Beispiel sprechen"! Ich bleibe dabei: Die Grundlagen fehlen.
Es gibt eine Standarf-Config im SVN (da gehört sie hin). Aber die hilft dir auch nicht. Du musst dir die Grundlagen schon selbst anschauen. Die "Standard-Config" ist für die wenigsten Installation genau richtig.
Zum Fehler: schau mal in die Konsole deines Browsers. Ggf. stellst die Frage auch nochmal im Bereich Frontends->FHEMWEB.
Zitat von: krk_0812 am 04 Februar 2019, 11:09:14
Da steht sicher Example, aber das bedeutet für mich als 1 x pro Jahr Anwender, dass ich das so übernehmen soll!
Vielleicht muss ich dann präzisieren: falls Du mal deine Web Instanz absicherst, nutze lieber nicht wie im Beispiel "admin" als Username und "secret" als Passwort... Das ist überhaupt keine sichere Anmeldung. Insbesondere wenn jeder Benutzer "das so übenehmen soll"
Das sind solche "Spitzfindigkeiten", die in jedem Forum vorkommen und höchst unpassend sind!
Wenn "Username" und "Password" driin steht und danach "Admin" und "secret" als Beispiel folgt, könnte man doch "mit etwas Hirn nach langem Überlegen" darauf kommen, dass "Admin" und "secret" durch einen Usernamen und ein Passwort ersetzt werden soll. Ich gebe jedoch zu bedenken, dass es augenfälliger wäre, wenn dort z. B. "
Mustermann" und "
Musterstadt" als Beispiel eingetragen wäre!
Beim komplett übernommenen Beispiel aus den Examples zu "allow" ist das nicht klar.
Noch kurz zur Antwort von Marvin78:
Da beginnen schon die Probleme "
ZitatEs gibt eine Standarf-Config im SVN
" . Was "SVN" unter FHEM bedeutet, habe ich erst durch eine Google Suche heraus bekommen.
Das sind keine Spitzfindigkeiten sondern tatsächlich hilfreiche Hinweise für dich.
Die Beispiele sind sehr gut.
Ich glaube, wir reden hier aneinander vorbei.
Auch wenn man etwas selten macht, sollte man eben nicht copy&paste verwenden, sondern sich grundsätzlich überlegen, ob es sinnvoll ist. Egal ob bei fhem oder sonst wo.
Leider wird eben doch zu häufig cop&paste verwendet, gerne auch aus unseriösen und/oder veralteten Quellen, ohne zu verstehen, was denn jetzt vor sich geht. Bei Testsystemen durchaus sinvoll (mach ich beruflich auch manchmal so), aber auf Produktivsystemen .... und da ist es egal, ob "secret" oder "Musterpasswort" steht.
Hatten wir jedenfalls schon häufiger ...
Es wäre aber noch etwas anzumerken:
FHEM benutzt praktisch ein "rolling-update". Da ist es prinzipiell immer so, das seltene Updates (1x im Jahr) immer größere Probleme bereiten als die kleinen/häufigen. So jedenfalls meine Erfahrung.
Zitat von: Wernieman am 04 Februar 2019, 12:30:12
Da ist es prinzipiell immer so, das seltene Updates (1x im Jahr) immer größere Probleme bereiten als die kleinen/häufigen. So jedenfalls meine Erfahrung.
Dem kann ich zustimmen. Mal abgesehen davon, dass Updates ohnehin nur in Ausnahmefällen Probleme verursachen.
Zitat
Auch wenn man etwas selten macht, sollte man eben nicht copy&paste verwenden, sondern sich grundsätzlich überlegen, ob es sinnvoll ist. Egal ob bei fhem oder sonst wo.
Ebenfalls Zustimmung - in diesem Fall hätte ja vielleicht schon gereicht zu lesen, was man kopiert (allowedCommands ist ja ein relativ sprechender Attributname).
@Manfred: Grundsätzlich würde ich versuchen an der Gewohnheit zu arbeiten: Es gibt neben Kommandozeile und DEF mittlerweile auch RAW-Import und ähnliches um Änderungen an der Konfiguration zu machen, mit dem schönen Vorteil dass dann auch gleich ein Syntaxcheck gemacht wird (was zugegebenermaßen in deinem Fall nicht geholfen hätte).
Und gleich als Vorwarnung: FHEM wird dir unter jedes Device ein setuuid mit einer ellenlangen Zahlen/Buchstabenkombination in die fhem.cfg schreiben. Das soll dann auch so bleiben...
Danke für die ausführliche Stellungnahme!
Und mit der letzten Bemerkung hast Du schon ein weiteres Problem angesprochen:
ZitatUnd gleich als Vorwarnung: FHEM wird dir unter jedes Device ein setuuid mit einer ellenlangen Zahlen/Buchstabenkombination in die fhem.cfg schreiben. Das soll dann auch so bleiben...
Ich habe das festgestellt und wusste nicht, ob ich es durch eine falsche allow..... verursacht hatte und habe alle gelöscht.
Vorher hatte ich noch unter dem Stichwort "setuuid " gesucht, aber nichts Verwertbares gefunden.
Die FHEM-REF gibt, zumindest für mich, da nichts her -->
Zitatsetuuid
[EN DE]
setuuid <device> <uuid>
System command, used to set the FUUID internal value. Not intended to be used by an end user.
Löschen macht erstmal nix, die kommen wieder ;-) Entscheidend ist der letzte Satz. Nix für enduser (in der Annahme, dass die nix in der fhem.cfg machen). Details kann man hier nachlesen: https://forum.fhem.de/index.php/topic,95902.0/all.html
Kurz, weil mobil