Hallo Leute,
ich hab ein extrem ärgerliches Problem, mein FHEM-Server ist abgeschmiert. Und wenn ich ihn per Terminal-Befehl starte kommt das Unrecognized escape \p passed through at ./FHEM/32_WifiLight.pm line 2170, <$fh> line 242.
Use of uninitialized value $hueFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1437, <$fh> line 277.
Use of uninitialized value $satFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1437, <$fh> line 277.
Use of uninitialized value $valFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1437, <$fh> line 277.
Use of uninitialized value $timeFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1437, <$fh> line 277.
Use of uninitialized value $hueFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1448, <$fh> line 277.
Use of uninitialized value $satFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1448, <$fh> line 277.
Use of uninitialized value $valFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1448, <$fh> line 277.
Use of uninitialized value $hueFrom in addition (+) at ./FHEM/32_WifiLight.pm line 1462, <$fh> line 277.
Use of uninitialized value $hueFrom in subtraction (-) at ./FHEM/32_WifiLight.pm line 1463, <$fh> line 277.
Use of uninitialized value $satFrom in subtraction (-) at ./FHEM/32_WifiLight.pm line 1470, <$fh> line 277.
Use of uninitialized value $valFrom in subtraction (-) at ./FHEM/32_WifiLight.pm line 1471, <$fh> line 277.
Use of uninitialized value $satFrom in subtraction (-) at ./FHEM/32_WifiLight.pm line 1512, <$fh> line 277.
Use of uninitialized value $valFrom in subtraction (-) at ./FHEM/32_WifiLight.pm line 1515, <$fh> line 277.
Use of uninitialized value $timeFrom in addition (+) at ./FHEM/32_WifiLight.pm line 1530, <$fh> line 277.
Not a HASH reference at ./FHEM/32_WifiLight.pm line 1776, <$fh> line 277.
Was kann man tun das erwieder läuft? Oder hilft nur ein neu aufsetzen was, mit einem backup?
Wäre froh, wenn mir jemand helfen könnte.
MfG Benny
Hallo Benny,
wo hast Du denn die 32_WifiLight.pm her ? Die finde ich nicht im Trunk (Quellcode von Fhem).
Also - ich würde die 32_WifiLight.pm umbenennen. Dann kann fhem beim Straten meckern, das die Datei fehlt und Deine WifiLights gehen natürlich nicht, aber der Rest von Fhem sollte wieder laufen.
Anschießend würde ich den Modulentwickler mal kontaktieren.
Gruß Christoph
Zitat von: Bennemannc am 20 August 2014, 21:55:10
Hallo Benny,
wo hast Du denn die 32_WifiLight.pm her ?
http://forum.fhem.de/index.php/topic,18958.0.html
Ist ne schöne ache, hat auch ne ganze weile funktioniert. Aber wolte was erweitern über die fhem.cfg und dabei ist es dann passiert.
Hab versucht das Neu definierte auszukommentieren, dann hatte er nur noch einen Fehler angezeigt. Dann hab ich natürlich damit er erstmal läuft deinen Rat befolgt. Danke Bennemannc :)
Hallo,
oh jeh - wenn Puschel74 das ließt gibt es wieder den Vortrag, nichts manuell in der fhem.cfg zu ändern. Habe ich früher auch gemacht und bin auf die Nase gefallen. Man kann so gut wie alles über das WebIf machen.
Aber jetzt zu Deinem Problem - wenn Du vor dem Update ein Backup machen läßt (empfohlen), dann ist dort auch die fhem.cfg drin. Ich hole so etwas meist mit Hilfe meines Windowsrechners zurück. Es gibt freie Packprogramme, die auch tar oder tar.gz entpacken können. Also das Backup auf den Windowsrechner kopieren und die fhem.cfg entpacken und über die "kaputte" drüber schreiben. Dann solltest Du den Stand vor dem letzten Update haben. Der Effekt - Du kannst gleich versuchen, Deine Änderungen / Neuerungen über das WebIf zu machen.
Gruß Christoph
Oh man :( hatte aber schon gelesen das man es nicht machen sollte, aber bei längeren Codes finde ich es ziemlich unübersichtlich es mit der Befehlszeile einzugeben. Aber naja es scheint ja nun mal das Problem zu sein und ich bin auf die Nase gefallen.
Zum Glück hab ich vorher ein Update gemacht und es wurde natürlich ein Backup dabei erstellt. Und mit Linux und Filezilla ist der Zugriff kein Problem und 7.ZIP läuft auch. ;)
Hallo,
längere Codes muss man nicht über die Befehlszeile eingeben. Meist ist das ja beim notify der Fall. Den legt man quasi als Dummy an - also "define Name notify Device set ..." (Einfach etwas setzen) mehr nicht. Dann wird der notify angelegt und man kann bequem in dem DEF Fenster den ganzen Text / Abfragen / Bedingungen und Co. ändern.
Gruß Christoph
Das ist clever :D Warum ich darauf nicht auch gekommen bin. Aber zum Glück gibt's ja dieses Forum und hilfsbereite, die einen Anfänger wie mir noch einiges erklären. Das mit dem Backup werde ich morgen machen, das Bett schreit jetzt.
Ich bedanke mich für deine bis jetzt geleistete Hilfe Bennemannc
Backup ist eingespielt und es gab nur kleine Komplikationen, die aber nicht im Zusammenhang mit FHEM stehen. Es war ein Rechte-Problem in dem Ordner auf dem RasPi. Und ein Rauchmelder der gestern 2 mal ausgelöst hat.
Hallo,
mann muss noch nichtmal ein "Dummynotify" anlegen.
Es genügt ein einfaches
define <gewünschter_Name> notify <Device>:<regexp> {}
und kann direkt loslegen.
Grüße
PS.: Das geht übrigens auch bei einem "längeren" at ;)
PPS.: Wenn die Frage geklärt ist dann bitte dem Titel noch ein "Gelöst" vorne dran - Danke.
Nun ist mir das nächste Problem aufgefallen. Und zwar würde ich meinen das alle Dateien des Backups welches ich eingespielt habe nicht die richtige Berechtigung haben.
2014.08.24 19:24:09 1: WriteStateFile: Cannot open ./log/fhem.save: Permission denied
2014.08.24 19:28:10 1: WriteStateFile: Cannot open ./log/fhem.save: Permission denied
2014.08.24 19:28:33 1: WriteStateFile: Cannot open ./log/fhem.save: Permission denied
2014.08.24 19:28:36 1: WriteStateFile: Cannot open ./log/fhem.save: Permission denied
Wie kann ich dieses lösen?
Hatte bis jetzt nur einen Ansatz gefunden um den ganzen Ordner und alle Benutzer volle Berechtigung zu geben, aber die Variante gefällt mir nicgt so ganz.
Lösche das statefile ./log/fhem.save und starte fhem neu. Das File wird von fhem neu angelegt und sollte dann die korrekten Rechte besitzen, damit fhem darauf zugreifen kann.
Dumme Frage, wo und wie mach ich das? Also ist die im Ordner /opt/fhem?
Hallo,
nicht ganz - steht doch darüber im Thread von Betateilchen "./log/fhem.save" ist ein relativer Pfad, der vom Fhem Home Verzeichnis ausgeht. Das steht eventuell an unterschiedliche Stellen. Auf Raspi und Co sollte das auf /opt/fhem stehen.
Also zusammengesetzt "/opt/fhem/log/fhem.save"
Gruß Christoph
Der Fehler scheint auch beseitigt.
Nun steht bei einem save da
" Cannot open fhem.cfg: Permission denied"
Finde raus, unter welchem Benutzer Dein fhem läuft und setze die entsprechenden richtigen Zugriffsrechte.
Okay, funktioniert auch wieder. Ich danke euch für eure Hilfe.
Hallo,
dann bitte ein Gelöst vor den Titel und den Beitrag NICHT schliessen.
Danke.
Grüße
@Puschel74
Hab ein problem mit meinem Igel Server auf dem Fhem läuf und komme auf dem nicht mehr per Putty und WinSCP oder anderen FTP mehr drauf.
Ich vermute das die CF Carte abgeschmiert ist.
Fhem läüft noch und der zugriff per Browser ist noch da. Würde gerne eine koplette spieglung der CF Karte auf eine neue aufspielen jedoch da war Fhem noch nicht komplett eingerichtet.
Gibt es eine möglichkeit über WebIf Backup der FHem im Netzwerk extern zu speichern? (Windows Rechner ist gemountet und Samba läuft.) oder eine andere möglichkeit alles über Webif zu sicher um nicht neu anfangen zu müssen?
Hallo zusammen,
ich versuche gerade ein paar neue Max! Thermostate anzulernen. Das klappt soweit, allerdings nur bis zum nächsten Neustart von Fhem bzw. des Raspberrys.
Beim Speichern der Konfiguration bekomme ich seit dem immer ein
Cannot open fhem.cfg: Permission denied
Gestern funktionierte noch alles und ich habe definitiv nichts geändert, außer eben die neuen Thermostate (Heizthermostat basic) anzulernen.
Jemand eine Idee wo es da hakt?
petjek
++ Edit ++
Ich kann die Datei aber sehr wohl über einen Editor bearbeiten, wenn ich per ssh darauf zugreife. Ich habe jetzt alle Thermostate drin, bekomme aber die Verknüpfung zum Fensterkontakt nicht hin, da ich die m.W. über das WebIF von Fhem herstellen muss. Oder geht das auch anders?
Unabhängig davon ist es natürlich sehr unschön, dass ich im WebIF keine Änderungen vornehmen kann.