Gelöst: Aufruf des FHEM-Backends liefert eine weisse Seite

Begonnen von ulobo60, 30 November 2017, 12:38:58

Vorheriges Thema - Nächstes Thema

ulobo60

Seit gestern Nacht habe ich keinerlei Zugriff auf das Backend von FHEM mehr (auf Frontend FTUI auch nicht).

Beim Aufruf des Backends mit http://192.168.178.yyy:8083/ erscheint eine weiße Seite mit folgender Fehlermeldung (die nur für ca. 1/10 Sekunde sichtbar ist):
"X-FHEM-csrfToken: csrf_4189xxxxxx3492
Content-Length: 0"

Normalerweise müßte jetzt das Benutzername/Passwort-Fenster im Firefox aufpoppen - tut's aber nicht. Statt dessen läuft die Eieruhr im Firefox-Tab (dauernd) und die obige weiße Seite erscheint.

Gestern Nacht hatte ich das UWZ-Modul installiert. Bei uns in NRW gab es aber gestern Nacht keine Unwetter-Warnmeldungen. Daher änderte ich die PLZ für das UWZ-Modul in eine Münchener PLZ und ich konnte Unwettermeldungen sehen. Beim anschließenden Formatieren des FTUI-Layouts wechselte ich dann öfter die PLZ im UWZ-Modul (ca. 7 bis 10mal innerhalb von ca. 10 Minuten). Vielleicht bin ich deswegen auf einer Blacklist gelandet !? (Vermutung eines Laien!)
Nach einem von sicherlich 30 Browser-Reloads (inkl. Leeren der aktuellen Firefox-Chronik) während meiner CSS-Anpassungen erschien dann plötzlich die weiße Seite.

Wenn ich im Firefox die Konsole öffne, während die weiße Seite geöffnet ist, erscheint folgender Text:
"Die Zeichenkodierung des Reintext-Dokuments wurde nicht deklariert. Das Dokument wird in manchen Browser-Konfigurationen mit verstümmeltem Text dargestellt, wenn das Dokument Zeichen außerhalb des US-ASCII-Bereichs enthält. Die Zeichenkodierung der Seite muss im Transferprotokoll deklariert werden oder die Datei muss eine Byte-Order-Markierung als Kodierungssignatur verwenden."

Und die content.js der weißen Seite im Firefox enthält (unter anderem):
"... A content script that blocks requests to blacklisted domains. ..."
Das führt mich zur Annahme (eines Laien!), dass ich evtl. ge-blacklisted bin - vielleicht aufgrund meiner mehrfachen UWZ-PLZ-Wechsel (?)

Auf die FHEM-Software kann ich problemlos mittels putty oder WinSCP unter Windows 10 zugreifen. FHEM läuft auf einem Raspi3 mit Jessie. Während ich hier schreibe, füllt sich das Log munter weiter mit empfangenen Daten.

Was ich bisher (erfolglos) getan habe:
o mehrfach FHEM gestoppt und gestartet
o mehrfach den Raspi neu gebootet mittels 'sudo shutdown -r now'
o 1mal den Raspi vom Netz getrennt (nach 'sudo shutdown -h now' und wieder neu gebootet
o in der fhem.cfg die 3 Zeilen mit dem define und den attr zur Unwetterzentrale gelöscht und den Raspi neu gebootet

Nun sitze ich hier relativ ratlos :=(

Hier noch meine fhem.cfg:

attr global userattr DbLogExclude DbLogInclude cmdIcon devStateIcon devStateStyle icon sortby webCmd webCmdLabel:textField-long widgetOverride
attr global altitude 46
attr global autoload_undefined_devices 1
attr global autosave 0
attr global backup_before_update 1
attr global language DE
attr global latitude 51.xxxxxx
attr global logfile ./log/fhem-%Y-%m.log
attr global longitude 6.yyyyy
attr global modpath .
attr global room Allgemein
attr global sendStatistics onUpdate
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 1

define telnetPort telnet 7072 global
attr telnetPort room Comm

define WEB FHEMWEB 8083 global
attr WEB JavaScripts codemirror/fhem_codemirror.js hausautomatisierung-com/custom.js
attr WEB editConfig 1
attr WEB endPlotNow 1
attr WEB longpoll websocket
attr WEB room Allgemein
attr WEB roomIcons Allgemein:it_nas Cams:it_camera Comm:it_router GUIs:it_television Kalender:time_calendar Maps:floor Plots:time_graph netatmo:weather Wetter-Vorhersage:weather_storm Save config:message_attention
attr WEB stylesheetPrefix hausautomatisierung_com

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
attr Logfile room Allgemein

define eventTypes eventTypes ./log/eventTypes.txt
attr eventTypes room Allgemein

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
attr initialUsbCheck room Allgemein
define allowed_WEB allowed
attr allowed_WEB basicAuth bG9ibzYwOnxxxxxxx
attr allowed_WEB room Allgemein
attr allowed_WEB validFor WEB
define allowed_telnetPort allowed
attr allowed_telnetPort password xyz
attr allowed_telnetPort room Comm
attr allowed_telnetPort validFor WEB,telnetPort
define netatmo netatmo ACCOUNT crypt:415f0e04030123xyz crypt:464604505e7xyz 59ea31850xyz 4WRps48CIpCwKMxyz
attr netatmo event-on-change-reading .*
attr netatmo room netatmo
define netatmo_indoor60 netatmo 70:ee:50:29:1a:b4
attr netatmo_indoor60 IODev netatmo
attr netatmo_indoor60 alias indoor60
attr netatmo_indoor60 devStateIcon 1
attr netatmo_indoor60 event-on-change-reading .*
attr netatmo_indoor60 icon weather_barometric_pressure
attr netatmo_indoor60 room netatmo
attr netatmo_indoor60 stateFormat T: temperature H: humidity
attr netatmo_indoor60 userReadings ftuiIcon:co2.* {my $state = ReadingsVal($name,"co2",0);; if ($state < 700) {return "pic1";;} elsif ($state < 1100) {return "pic2";;} else {return "pic3";;}}, vor_minuten:humidity.* {my $state = (split(' ',ReadingsTimestamp($name,"humidity",0)))[1]}
define netatmo_outdoor60 netatmo MODULE 70:ee:50:29:1a:b4 02:00:00:28:d8:dc
attr netatmo_outdoor60 IODev netatmo
attr netatmo_outdoor60 alias outdoor60
attr netatmo_outdoor60 devStateIcon .*:no-icon
attr netatmo_outdoor60 event-on-change-reading .*
attr netatmo_outdoor60 icon weather_cloudy_light
attr netatmo_outdoor60 room netatmo
attr netatmo_outdoor60 stateFormat T: temperature H: humidity
attr netatmo_outdoor60 userReadings dew:temperature.* {urDewpoint($name)}
define netatmo_forecast netatmo FORECAST 70:ee:50:29:1a:b4
attr netatmo_forecast IODev netatmo
attr netatmo_forecast devStateIcon .*:no-icon
attr netatmo_forecast event-on-change-reading .*
attr netatmo_forecast room netatmo
define netatmo_weathermap netatmo PUBLIC 51.1920331,6.6058792 0.05
attr netatmo_weathermap IODev netatmo
attr netatmo_weathermap devStateIcon .*:no-icon
attr netatmo_weathermap event-on-change-reading .*
attr netatmo_weathermap room netatmo
define TABLETUI HTTPSRV ftui/ ./www/tablet/ Tablet-UI
attr TABLETUI room GUIs
define logdb DbLog ./db.conf .*:.*
attr logdb DbLogType Current/History
attr logdb room Allgemein
attr logdb userReadings DbFileSize:reduceLogState.* { (split(' ',`du -m fhem.db`))[0] }
define ftui_prod HTTPSRV tablet_prod/ ./www/tablet_prod FTUI_Prod
attr ftui_prod room GUIs
define raspiCarport weblink iframe http://abc:xyz@192.168.178.xxx:yyyy/
attr raspiCarport htmlattr width="600" height="452" scrolling="no"
attr raspiCarport room Cams
define raspiTuer weblink iframe http://abc:xyz@192.168.178.xxx:yyyy/
attr raspiTuer htmlattr width="400" height="300" scrolling="no"
attr raspiTuer room Cams
define proplanta60 PROPLANTA Kaarst de
attr proplanta60 event-on-change-reading .*
attr proplanta60 forecastDays 7
attr proplanta60 group Wettervorhersage (Proplanta),
attr proplanta60 room Wetter-Vorhersage
define VorschauProplanta weblink htmlCode {PROPLANTA_Html("proplanta60")}
attr VorschauProplanta group Wettervorhersage (Proplanta)
attr VorschauProplanta room Wetter-Vorhersage
define YahooWetter Weather xxxyyy 3600 de
attr YahooWetter event-on-change-reading .*
attr YahooWetter room Wetter-Vorhersage
attr YahooWetter webCmd ja
define symbolYahooWetterV weblink htmlCode {WeatherAsHtml("YahooWetter",7)}
attr symbolYahooWetterV room Wetter-Vorhersage
define Abfall Calendar ical url https://calendar.google.com/calendar/ical/xyz%40group.calendar.google.com/private-xyz/basic.ics 21600
attr Abfall event-on-update-reading .*
attr Abfall hideOlderThan 12h
attr Abfall room Kalender
define notAbfalltermine notify Abfall:triggered { Abfalltermine() }
attr notAbfalltermine room Kalender
define MuellterminDummy dummy
attr MuellterminDummy room Kalender
define FritzCallmon FB_CALLMONITOR 192.168.178.1
attr FritzCallmon country-code 0049
attr FritzCallmon event-on-change-reading .*
attr FritzCallmon fritzbox-remote-phonebook 1
attr FritzCallmon fritzbox-remote-phonebook-via tr064
attr FritzCallmon group Connections
attr FritzCallmon icon phone_call
attr FritzCallmon local-area-code 02abc
attr FritzCallmon reverse-search phonebook,dasoertliche.de,klicktel.de
attr FritzCallmon reverse-search-cache 1
attr FritzCallmon reverse-search-cache-file /opt/fhem/log/callmoncache.txt
attr FritzCallmon room Comm
attr FritzCallmon unique-call-ids 1
attr FritzCallmon verbose 5
define FritzCList FB_CALLLIST FritzCallmon
attr FritzCList create-readings 1
attr FritzCList language de
attr FritzCList number-of-calls 11
attr FritzCList room Comm
define test1 HTTPSRV test1/ ./www/test1 FTUI_test1
attr test1 room GUIs
define FileLog_FritzCallmon FileLog ./log/FritzCallmon-%Y-%m.log FritzCallmon
attr FileLog_FritzCallmon room Comm
define FritzBox FRITZBOX
attr FritzBox allowTR064Command 1
attr FritzBox event-on-change-reading .*
attr FritzBox icon it_router
attr FritzBox room Comm
define duGast dummy
attr duGast devStateIcon on:it_wifi@red off:it_wifi@white
attr duGast eventMap ja:on nein:off
attr duGast room Comm
attr duGast setList off on
define duGast_switch notify duGast set FritzBox guestWlan $EVENT
attr duGast_switch room Comm
define Astro Astro
attr Astro altitude 46
attr Astro event-on-change-reading .*
attr Astro room Wetter-Vorhersage
attr Astro userReadings ftui {moon_pics("Astro")},\
moonIcon:MoonPhaseS.* {my $state = ReadingsVal($name,"MoonPhaseS",0);;\
if ($state eq "Vollmond") {return "1";;} \
elsif ($state eq "Abnehmender Mond") {return "13";;} \
elsif ($state eq "Letztes Viertel") {return "24";;} \
elsif ($state eq "Abnehmende Sichel") {return "30";;}\
elsif ($state eq "Neumond") {return "50";;} \
elsif ($state eq "Zunehmende Sichel") {return "69";;} \
elsif ($state eq "Erstes Viertel") {return "76";;} \
else {return "87";;}},\
skz_vonbis:SunSign.* {my $state = ReadingsVal($name,"SunSign",0);;\
if ($state eq "Wassermann") {return "21. Jan - 19. Feb";;} \
elsif ($state eq "Fische") {return "20. Feb . 20. Mär";;} \
elsif ($state eq "Widder") {return "21. Mär - 20. Apr";;} \
elsif ($state eq "Stier") {return "21. Apr - 20. Mai";;}\
elsif ($state eq "Zwillinge") {return "21. Mai - 21. Jun";;} \
elsif ($state eq "Krebs") {return "22. Jun - 22. Jul";;} \
elsif ($state eq "Löwe") {return "23. Jul - 23. Aug";;} \
elsif ($state eq "Jungfrau") {return "24. Aug - 23. Sep";;} \
elsif ($state eq "Waage") {return "24. Sep - 23. Okt";;} \
elsif ($state eq "Skorpion") {return "24. Okt - 22. Nov";;}\
elsif ($state eq "Schütze") {return "23. Nov - 21. Dez";;} \
else {return "22. Dez - 20. Jan";;}}\

define Ingrid_map TRAFFIC AIzaxyz-FzKCxyz 600
attr Ingrid_map userattr GoogleMapsCenter GoogleMapsSize GoogleMapsStroke GoogleMapsStyle GoogleMapsTrafficLayer GoogleMapsZoom end_address event-on-change-reading includeReturn language outputReadings start_address verbose
attr Ingrid_map GoogleMapsCenter 51.xyz,6.xyz
attr Ingrid_map GoogleMapsSize 800,500
attr Ingrid_map GoogleMapsStroke #000000,6,50,#FF0000,1,100
attr Ingrid_map GoogleMapsStyle default
attr Ingrid_map GoogleMapsTrafficLayer 1
attr Ingrid_map GoogleMapsZoom 13
attr Ingrid_map end_address abc
attr Ingrid_map event-on-change-reading .*
attr Ingrid_map includeReturn 1
attr Ingrid_map language de
attr Ingrid_map outputReadings text min
attr Ingrid_map room Maps
attr Ingrid_map start_address xyz
attr Ingrid_map verbose 1
define SVG_logdb_1 SVG logdb:SVG_logdb_1:HISTORY
attr SVG_logdb_1 captionPos left
attr SVG_logdb_1 room Plots
define SVG_logdb_2 SVG logdb:SVG_logdb_2:HISTORY
attr SVG_logdb_2 captionPos left
attr SVG_logdb_2 room Plots
define logdb_Reopen at +*00:15:00 set logdb reopen
attr logdb_Reopen room Allgemein
define Unwetterzentrale UWZ DE 80331 3600
attr Unwetterzentrale humanreadable 1
attr Unwetterzentrale room Wetter-Vorhersage


Fur Eure Hilfe wäre ich sehr denkbar. Nothing goes more! (frei nach Lübke)
3x raspi + cam-Modul mit mmal-motion - 2x raspi mit KODI - 1x raspi mit FHEM + FTUI

rudolfkoenig

Ich tippe auf einem Browser-Plugin. Versuchs mal im Inkognito-Mode ohne Plugins oder mit einem anderen Browser.

Wernieman

Und probiere mal, ob Du mit telnet reinkommst

bzw. fürs eintippen in die "Linuxkonsole"
echo -en "list\nquit\n" | /bin/nc -w5 <fhem-server> 7072

Sollte Dir ein List aller Device anzeigen. Bitte <fhem-server> passend ändern
- 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

ulobo60

@rudolfkoenig:
Erst mal danke für's Kümmern!
Gute Idee - habe alles Mögliche in der Richtung probiert - Ergebnis: kein Zugriff.
Habe 3 PCs mit Windows 10 im Haushalt. Auf 2 Rechnern hatte ich bis eben ich noch nie eine FHEM-Seite geöffnet. Auf beiden Rechnern ist als Browser Firefox ohne ein Addon instlliert - und Edge :=(
Habe auf 1 Rechner gerade noch zusätzlich Opera und auf den anderen zusätzlich Chrome installiert - Popup-Blocker deaktiviert. Bede zeigen beim Aufruf des FHEM-Backends eine Fehlerseite mit (fast) identischem Inhalt.
OPERA: "<meine FHEM-IP> hat eine ungültige Antwort gesendet."
CHROM: "<meine FHEM-IP> hat eine ungültige Antwort gesendet: ERR_INVALID_HTTP_REQUEST"

Was ich persönlich merkwürdig finde, ist die Tatsache, dass das FHEM-Anmeldefenster nicht aufpoppt. Es liegt also schon vorher ein Problem vor.
Ich bin aber ein zu großer Laie bzgl. dieser Thematik, um das erquickend beurteilen zu können.
Habe übrigens vorhin etwas Älteres im Forum zu diesem Thema gefunden, wo betateilchen ziemlich aufgemuckt hat zum Thema Profis/Laien und zusätzlicher Absicherung des FHEM-Zugangs :=)

Nochmals zu gestern Nacht, als der Fehler auftrat:
ich hatte über ca 1 Stunde CSS für FTUI optimiert. D.h. 3 Programmfenster geöffnet. Irgendwo 2 Pixel mehr bei z.B. für 'padding-top' eingefügt. CSS-Datei gespeichert, gewechselt zum Firefox, dort 'Neueste Chronik löschen' betätigt und Seite reloaded. Wieder zurück - nächste Änderung. Und irgendwann (nach so ca. 30 Änderungen) erschien die weiße Seite beim Firefox !!!

=================================

@Wernieman:
Danke für Deine Hilfe!
nach der Eingabe Deiner Zeile (mit meiner IP) fragt Linux nach "Password:"
Habe brav mein FHEM-Zugangspasswort eingegeben.
Linux-Ausgabe:
-bash: <mein PW>: command not found
Das ist sicher nicht, was Du sehen wolltest.

Habe den Raspi nach diesem Befehl neu gebootet.
Fand gerade in der fhem.save zu Telnet folgende Einträge:

setstate allowed_WEB validFor:WEB
setstate allowed_WEB 2017-11-30 21:41:31 state validFor:WEB
setstate allowed_telnetPort validFor:WEB,telnetPort
setstate allowed_telnetPort 2017-11-30 21:41:31 state validFor:WEB,telnetPort


Telnet scheint also zu funktionieren, FHEM nimmt aber Deinen Befehl nicht an?!
Puuuuuhhhhh.....

Im Logfile fand ich nach dem letzte Raspi-Reboot folgende Passagen:

...
2017.11.30 21:42:52 3: FB_CALLMONITOR (FritzCallmon) - error while requesting security port: <hidden>: Can't connect(1) to http://192.168.178.1:49000: IO::Socket::INET: connect: Network is unreachable
2017.11.30 21:42:52 2: FB_CALLMONITOR (FritzCallmon) - could not identify remote phonebooks - unable to identify phonebooks via TR-064: error while requesting phonebooks: <hidden>: Can't connect(1) to http://192.168.178.1:49000: IO::Socket::INET: connect: Network is unreachable
2017.11.30 21:42:52 1: netatmo: DNS error, cannot resolve api.netatmo.com
2017.11.30 21:42:52 1: netatmo: No access token was found! (getDevices)
...


Irgendwie geht hier HTML-mäßig gar nichts...
Ich hatte heute Nacht übrigens meinen Router auch neu gebootet. :=(
3x raspi + cam-Modul mit mmal-motion - 2x raspi mit KODI - 1x raspi mit FHEM + FTUI

rudolfkoenig

ZitatCan't connect(1) to http://192.168.178.1:49000: IO::Socket::INET: connect: Network is unreachable
Falls dein RPI an einem normalen Fritzbox mit der Standardadresse (192.168.178.1) haengt, dann klingt es so, als ob was mit dem Netzwerk nicht stimmen wuerde. Ab hier waere das nicht mehr FHEM-spezifisch. Ich wuerde mit "ifconfig -a" und "netstat -r" schauen, was los ist.
Kann auch sein, dass auf dem RPi irgendwelche Firewall-Regel aktiviert wurden.

Wernieman

Hat Dein Telnet ein Password oder nicht?

Gib mir bitte mal einen Auszug aus Deiner fhem-config:
grep telnet /opt/fhem/fhem.cfg

Und wie Rudi schon schrieb, gib uns bitte ein paar Infos übers System:
ifconfig -a
netstat -r
netstat -lntp
route -n
iptables -L -n
- 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

ulobo60

Moin Rudi, moin Wernie.
Mein lieber Mann! Hier bei FHEM wird das Motto "Hier werden Sie geholfen" aber richtig GROSS geschrieben!
Hochachtung und vielen Dank schon mal für Eure Hilfe.

Hier die Infos zu Euren Fragen.
Ja - die Fritzbox hängt am besagten Standard-Port.
Ja, mein Telnet hat ein Passwort:

pi@raspi43fhem:~ $ grep telnet /opt/fhem/fhem.cfg
define telnetPort telnet 7072 global
attr telnetPort room Comm
define allowed_telnetPort allowed
attr allowed_telnetPort password <hier_steht_mein_Passwort>
attr allowed_telnetPort room Comm
attr allowed_telnetPort validFor WEB,telnetPort


Hier die restlichen Infos.
Habe die letzten 3 Stellen meiner IP mit xxx überschrieben.


pi@raspi43fhem:~ $ ifconfig -a
eth0      Link encap:Ethernet  HWaddr b8:27:eb:ce:21:a2
          inet addr:192.168.178.xxx  Bcast:192.168.178.255  Mask:255.255.255.0
          inet6 addr: fe80::cb50:8019:7773:e8d2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:50114 errors:0 dropped:861 overruns:0 frame:0
          TX packets:25736 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:24618677 (23.4 MiB)  TX bytes:14593214 (13.9 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3611 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3611 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:1756789 (1.6 MiB)  TX bytes:1756789 (1.6 MiB)



pi@raspi43fhem:~ $ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         fritz.box       0.0.0.0         UG        0 0          0 eth0
192.168.178.0   *               255.255.255.0   U         0 0          0 eth0



pi@raspi43fhem:~ $ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         fritz.box       0.0.0.0         UG        0 0          0 eth0
192.168.178.0   *               255.255.255.0   U         0 0          0 eth0


mit sudo (System läuft mit Standard-Benutzer 'pi'):

pi@raspi43fhem:~ $ sudo netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1098/mysqld
tcp        0      0 0.0.0.0:8083            0.0.0.0:*               LISTEN      578/perl
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      701/sshd
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      590/perl
tcp        0      0 0.0.0.0:7072            0.0.0.0:*               LISTEN      578/perl
tcp        0      0 127.0.0.1:36899         0.0.0.0:*               LISTEN      578/perl
tcp6       0      0 :::22                   :::*                    LISTEN      701/sshd



pi@raspi43fhem:~ $ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.178.1   0.0.0.0         UG    202    0        0 eth0
192.168.178.0   0.0.0.0         255.255.255.0   U     202    0        0 eth0


iptable ohne sudo:

pi@raspi43fhem:~ $ iptables -L -n
modprobe: ERROR: could not insert 'ip_tables': Operation not permitted
iptables v1.4.21: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.


iptable mit sudo:

pi@raspi43fhem:~ $ sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


Ich hoffe mal, Ihr könnt damit den (für mich) Gordischen Knoten lösen.
Übrigens: meine Laien-Annahme (ge-black-listed) hat sich als Quatsch herausgestellt. Die 24 Stunden des black listings sind vorüber und das System läuft trotzdem nicht. :-[
LG
ulf
3x raspi + cam-Modul mit mmal-motion - 2x raspi mit KODI - 1x raspi mit FHEM + FTUI

Wernieman

Wenn Du Password vergeben hast, muss dieses auch bei telnet übergeben werden:
echo -en "<password>\nlist\nquit\n" | /bin/nc -w5 <fhem-server> 7072

Damit wir erstmal wissen, ob Dein FHEM richtig reagiert.

Also Netzwerk sieht, sowie ich es sehe, gut aus. Das Du bei einigem sudo brauchst ist logisch und für mich so natürlich, das ich es nicht reinschreibe ;o)

Wie ist eigentlich WEB bei Dir definiert?
grep WEB /opt/fhem/fhem.cfg

Edit:
Sitzt Du eigentlich im gleichen Netz oder kommst Du "von draußen"?
- 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

ulobo60

#8
Das mit dem Passwort hatte ich mir schon gedacht und versucht, es HINTEN in den Befehl "einzuarbeiten".
Wie ich jetzt sehe, gehört das PW vorne hin. Wieder was gelernt.

Hier das Ergebnis:

pi@raspi43fhem:~ $ echo -en "xxx\nlist\nquit\n" | /bin/nc -w5 192.168.178.xxx 7072
▒▒Password: ▒▒

Type list <name> for detailed info.

Global:
  global               (no definition)

FHEMWEB:
  WEB                  (Initialized)
  WEB_192.168.178.41_59908 (Connected)

HTTPSRV:
  TABLETUI             (TABLETUI)
  ftui_prod            (ftui_prod)
  test1                (test1)

netatmo:
  netatmo              (Connected)
  netatmo_forecast     (Initialized)
  netatmo_indoor60     (T: 21.7 H: 37)
  netatmo_outdoor60    (T: 4.3 H: 89)
  netatmo_weathermap   (Initialized)

Calendar:
  Abfall               (triggered)

PROPLANTA:
  proplanta60          (Tmin: -2 Tmax: 4 T: 1.9 H: 93 W: 7.2 P: 1012.2)

Weather:
  YahooWetter          (T: 1  H: 96  W: 11  P: 1007)

FB_CALLLIST:
  FritzCList           (Initialized)

FB_CALLMONITOR:
  FritzCallmon         (opened)

FRITZBOX:
  FritzBox             (WLAN: on gWLAN: off)

UWZ:
  Unwetterzentrale     (Warnungen: 2)

at:
  logdb_Reopen         (Next: 10:27:51)

eventTypes:
  eventTypes           (active)

notify:
  duGast_switch        (active)
  initialUsbCheck      (inactive)
  notAbfalltermine     (2017-12-01 09:42:54)

FileLog:
  FileLog_FritzCallmon (active)
  Logfile              (active)

DbLog:
  logdb                (connected)

Astro:
  Astro                (Initialized)

allowed:
  allowed_WEB          (validFor:WEB)
  allowed_telnetPort   (validFor:WEB,telnetPort)

SVG:
  SVG_logdb_1          (initialized)
  SVG_logdb_2          (initialized)

TRAFFIC:
  Ingrid_map           (OK)

dummy:
  MuellterminDummy     (???)
  duGast               (off)

telnet:
  telnetForBlockingFn_1512074572 (Initialized)
  telnetPort           (Initialized)
  telnetPort_192.168.178.43_45966 (Connected)

weblink:
  VorschauProplanta    (initialized)
  raspiCarport         (initialized)
  raspiTuer            (initialized)
  symbolYahooWetterV   (initialized)

Bye...
pi@raspi43fhem:~ $ echo -en "xxx\nlist\nquit\n" | /bin/nc -w5 192.168.178.xxx 7072
▒▒Password: ▒▒

Type list <name> for detailed info.

Global:
  global               (no definition)

FHEMWEB:
  WEB                  (Initialized)
  WEB_192.168.178.41_59908 (Connected)

HTTPSRV:
  TABLETUI             (TABLETUI)
  ftui_prod            (ftui_prod)
  test1                (test1)

netatmo:
  netatmo              (Connected)
  netatmo_forecast     (Initialized)
  netatmo_indoor60     (T: 21.7 H: 37)
  netatmo_outdoor60    (T: 4.3 H: 89)
  netatmo_weathermap   (Initialized)

Calendar:
  Abfall               (triggered)

PROPLANTA:
  proplanta60          (Tmin: -2 Tmax: 4 T: 1.9 H: 93 W: 7.2 P: 1012.2)

Weather:
  YahooWetter          (T: 1  H: 96  W: 11  P: 1007)

FB_CALLLIST:
  FritzCList           (Initialized)

FB_CALLMONITOR:
  FritzCallmon         (opened)

FRITZBOX:
  FritzBox             (WLAN: on gWLAN: off)

UWZ:
  Unwetterzentrale     (Warnungen: 2)

at:
  logdb_Reopen         (Next: 10:27:51)

eventTypes:
  eventTypes           (active)

notify:
  duGast_switch        (active)
  initialUsbCheck      (inactive)
  notAbfalltermine     (2017-12-01 09:42:54)

FileLog:
  FileLog_FritzCallmon (active)
  Logfile              (active)

DbLog:
  logdb                (connected)

Astro:
  Astro                (Initialized)

allowed:
  allowed_WEB          (validFor:WEB)
  allowed_telnetPort   (validFor:WEB,telnetPort)

SVG:
  SVG_logdb_1          (initialized)
  SVG_logdb_2          (initialized)

TRAFFIC:
  Ingrid_map           (OK)

dummy:
  MuellterminDummy     (???)
  duGast               (off)

telnet:
  telnetForBlockingFn_1512074572 (Initialized)
  telnetPort           (Initialized)
  telnetPort_192.168.178.xxx_45966 (Connected)

weblink:
  VorschauProplanta    (initialized)
  raspiCarport         (initialized)
  raspiTuer            (initialized)
  symbolYahooWetterV   (initialized)

Bye...


Ja, ich bin "drinnen"; sitze im gleichen Netz.
FHEM-Raspi hängt per LAN-Kabel am Router, 1 PC ebenfalls. Meine anderen beiden PCs hängen über WLAN auch im gleichen Netz.

Hier das WEB listing aus der fhem.cfg:

pi@raspi43fhem:~ $ grep WEB /opt/fhem/fhem.cfg
define WEB FHEMWEB 8083 global
attr WEB JavaScripts codemirror/fhem_codemirror.js hausautomatisierung-com/custom.js
attr WEB editConfig 1
attr WEB endPlotNow 1
attr WEB longpoll websocket
attr WEB room Allgemein
attr WEB roomIcons Allgemein:it_nas Cams:it_camera Comm:it_router GUIs:it_television Kalender:time_calendar Maps:floor Plots:time_graph netatmo:weather Wetter-Vorhersage:weather_storm Save config:message_attention
attr WEB stylesheetPrefix hausautomatisierung_com
# Fake FileLog entry, to access the fhem log from FHEMWEB
define allowed_WEB allowed
attr allowed_WEB basicAuth bG9xxx
attr allowed_WEB room Allgemein
attr allowed_WEB validFor WEB
attr allowed_telnetPort validFor WEB,telnetPort


Ich poste Dir gleich mal meine gesamte fhem.cfg. Ist noch nicht so riesig.
Muss die noch mal durchschauen, ob ich was aus-x-en muss/will.

Weiss nicht, ob's wichtig für den error ist: System läuft mit dblog und mysql.
3x raspi + cam-Modul mit mmal-motion - 2x raspi mit KODI - 1x raspi mit FHEM + FTUI

ulobo60

Hier meine gesamte fhem.cfg:

attr global userattr DbLogExclude DbLogInclude cmdIcon devStateIcon devStateStyle icon sortby webCmd webCmdLabel:textField-long widgetOverride
attr global altitude 46
attr global autoload_undefined_devices 1
attr global autosave 0
attr global backup_before_update 1
attr global language DE
attr global latitude 51.xxx
attr global logfile ./log/fhem-%Y-%m.log
attr global longitude 6.xxx
attr global modpath .
attr global room Allgemein
attr global sendStatistics onUpdate
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 1

define telnetPort telnet 7072 global
attr telnetPort room Comm

define WEB FHEMWEB 8083 global
attr WEB JavaScripts codemirror/fhem_codemirror.js hausautomatisierung-com/custom.js
attr WEB editConfig 1
attr WEB endPlotNow 1
attr WEB longpoll websocket
attr WEB room Allgemein
attr WEB roomIcons Allgemein:it_nas Cams:it_camera Comm:it_router GUIs:it_television Kalender:time_calendar Maps:floor Plots:time_graph netatmo:weather Wetter-Vorhersage:weather_storm Save config:message_attention
attr WEB stylesheetPrefix hausautomatisierung_com



# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
attr Logfile room Allgemein


define eventTypes eventTypes ./log/eventTypes.txt
attr eventTypes room Allgemein

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
attr initialUsbCheck room Allgemein
define allowed_WEB allowed
attr allowed_WEB basicAuth bG9ibzxxx
attr allowed_WEB room Allgemein
attr allowed_WEB validFor WEB
define allowed_telnetPort allowed
attr allowed_telnetPort password xxx
attr allowed_telnetPort room Comm
attr allowed_telnetPort validFor WEB,telnetPort
define netatmo netatmo ACCOUNT crypt:415f0e0403xxx crypt:464604505exxx 59ea31850d0e23fxxx 4WRps48CIpCwKMesK5e1BoZnxxx
attr netatmo event-on-change-reading .*
attr netatmo room netatmo
define netatmo_indoor60 netatmo 70:ee:50:29:1a:b4
attr netatmo_indoor60 IODev netatmo
attr netatmo_indoor60 alias indoor60
attr netatmo_indoor60 devStateIcon 1
attr netatmo_indoor60 event-on-change-reading .*
attr netatmo_indoor60 icon weather_barometric_pressure
attr netatmo_indoor60 room netatmo
attr netatmo_indoor60 stateFormat T: temperature H: humidity
attr netatmo_indoor60 userReadings ftuiIcon:co2.* {my $state = ReadingsVal($name,"co2",0);; if ($state < 700) {return "pic1";;} elsif ($state < 1100) {return "pic2";;} else {return "pic3";;}}, vor_minuten:humidity.* {my $state = (split(' ',ReadingsTimestamp($name,"humidity",0)))[1]}
define netatmo_outdoor60 netatmo MODULE 70:ee:50:29:1a:b4 02:00:00:28:d8:dc
attr netatmo_outdoor60 IODev netatmo
attr netatmo_outdoor60 alias outdoor60
attr netatmo_outdoor60 devStateIcon .*:no-icon
attr netatmo_outdoor60 event-on-change-reading .*
attr netatmo_outdoor60 icon weather_cloudy_light
attr netatmo_outdoor60 room netatmo
attr netatmo_outdoor60 stateFormat T: temperature H: humidity
attr netatmo_outdoor60 userReadings dew:temperature.* {urDewpoint($name)}
define netatmo_forecast netatmo FORECAST 70:ee:50:29:1a:b4
attr netatmo_forecast IODev netatmo
attr netatmo_forecast devStateIcon .*:no-icon
attr netatmo_forecast event-on-change-reading .*
attr netatmo_forecast room netatmo
define netatmo_weathermap netatmo PUBLIC 51.xxx,6.xxx 0.05
attr netatmo_weathermap IODev netatmo
attr netatmo_weathermap devStateIcon .*:no-icon
attr netatmo_weathermap event-on-change-reading .*
attr netatmo_weathermap room netatmo
define TABLETUI HTTPSRV ftui/ ./www/tablet/ Tablet-UI
attr TABLETUI room GUIs
define logdb DbLog ./db.conf .*:.*
attr logdb DbLogType Current/History
attr logdb room Allgemein
attr logdb userReadings DbFileSize:reduceLogState.* { (split(' ',`du -m fhem.db`))[0] }
define ftui_prod HTTPSRV tablet_prod/ ./www/tablet_prod FTUI_Prod
attr ftui_prod room GUIs
define raspiCarport weblink iframe http://xxx@192.168.178.xxx:8081/
attr raspiCarport htmlattr width="600" height="452" scrolling="no"
attr raspiCarport room Cams
define raspiTuer weblink iframe http://xxx@192.168.178.xxx:8081/
attr raspiTuer htmlattr width="400" height="300" scrolling="no"
attr raspiTuer room Cams
define proplanta60 PROPLANTA Kaarst de
attr proplanta60 event-on-change-reading .*
attr proplanta60 forecastDays 7
attr proplanta60 group Wettervorhersage (Proplanta),
attr proplanta60 room Wetter-Vorhersage
define VorschauProplanta weblink htmlCode {PROPLANTA_Html("proplanta60")}
attr VorschauProplanta group Wettervorhersage (Proplanta)
attr VorschauProplanta room Wetter-Vorhersage
define YahooWetter Weather 642915 3600 de
attr YahooWetter event-on-change-reading .*
attr YahooWetter room Wetter-Vorhersage
attr YahooWetter webCmd ja
define symbolYahooWetterV weblink htmlCode {WeatherAsHtml("YahooWetter",7)}
attr symbolYahooWetterV room Wetter-Vorhersage
define Abfall Calendar ical url https://calendar.google.com/calendar/ical/d8ii3nlg1f2xxx%40group.calendar.google.com/private-df12881916xxx/basic.ics 21600
attr Abfall event-on-update-reading .*
attr Abfall hideOlderThan 12h
attr Abfall room Kalender
define notAbfalltermine notify Abfall:triggered { Abfalltermine() }
attr notAbfalltermine room Kalender
define MuellterminDummy dummy
attr MuellterminDummy room Kalender
define FritzCallmon FB_CALLMONITOR 192.168.178.1
attr FritzCallmon country-code 0049
attr FritzCallmon event-on-change-reading .*
attr FritzCallmon fritzbox-remote-phonebook 1
attr FritzCallmon fritzbox-remote-phonebook-via tr064
attr FritzCallmon group Connections
attr FritzCallmon icon phone_call
attr FritzCallmon local-area-code 02131
attr FritzCallmon reverse-search phonebook,dasoertliche.de,klicktel.de
attr FritzCallmon reverse-search-cache 1
attr FritzCallmon reverse-search-cache-file /opt/fhem/log/callmoncache.txt
attr FritzCallmon room Comm
attr FritzCallmon unique-call-ids 1
attr FritzCallmon verbose 5
define FritzCList FB_CALLLIST FritzCallmon
attr FritzCList create-readings 1
attr FritzCList language de
attr FritzCList number-of-calls 11
attr FritzCList room Comm
define test1 HTTPSRV test1/ ./www/test1 FTUI_test1
attr test1 room GUIs
define FileLog_FritzCallmon FileLog ./log/FritzCallmon-%Y-%m.log FritzCallmon
attr FileLog_FritzCallmon room Comm
define FritzBox FRITZBOX
attr FritzBox allowTR064Command 1
attr FritzBox event-on-change-reading .*
attr FritzBox icon it_router
attr FritzBox room Comm
define duGast dummy
attr duGast devStateIcon on:it_wifi@red off:it_wifi@white
attr duGast eventMap ja:on nein:off
attr duGast room Comm
attr duGast setList off on
define duGast_switch notify duGast set FritzBox guestWlan $EVENT
attr duGast_switch room Comm
define Astro Astro
attr Astro altitude 46
attr Astro event-on-change-reading .*
attr Astro room Wetter-Vorhersage
attr Astro userReadings ftui {moon_pics("Astro")},\
moonIcon:MoonPhaseS.* {my $state = ReadingsVal($name,"MoonPhaseS",0);;\
if ($state eq "Vollmond") {return "1";;} \
elsif ($state eq "Abnehmender Mond") {return "13";;} \
elsif ($state eq "Letztes Viertel") {return "24";;} \
elsif ($state eq "Abnehmende Sichel") {return "30";;}\
elsif ($state eq "Neumond") {return "50";;} \
elsif ($state eq "Zunehmende Sichel") {return "69";;} \
elsif ($state eq "Erstes Viertel") {return "76";;} \
else {return "87";;}},\
skz_vonbis:SunSign.* {my $state = ReadingsVal($name,"SunSign",0);;\
if ($state eq "Wassermann") {return "21. Jan - 19. Feb";;} \
elsif ($state eq "Fische") {return "20. Feb . 20. Mär";;} \
elsif ($state eq "Widder") {return "21. Mär - 20. Apr";;} \
elsif ($state eq "Stier") {return "21. Apr - 20. Mai";;}\
elsif ($state eq "Zwillinge") {return "21. Mai - 21. Jun";;} \
elsif ($state eq "Krebs") {return "22. Jun - 22. Jul";;} \
elsif ($state eq "Löwe") {return "23. Jul - 23. Aug";;} \
elsif ($state eq "Jungfrau") {return "24. Aug - 23. Sep";;} \
elsif ($state eq "Waage") {return "24. Sep - 23. Okt";;} \
elsif ($state eq "Skorpion") {return "24. Okt - 22. Nov";;}\
elsif ($state eq "Schütze") {return "23. Nov - 21. Dez";;} \
else {return "22. Dez - 20. Jan";;}}\

define Ingrid_map TRAFFIC AIzaSyAsAKAdxMwxxx 600
attr Ingrid_map userattr GoogleMapsCenter GoogleMapsSize GoogleMapsStroke GoogleMapsStyle GoogleMapsTrafficLayer GoogleMapsZoom end_address event-on-change-reading includeReturn language outputReadings start_address verbose
attr Ingrid_map GoogleMapsCenter 51.xxx,6.xxx
attr Ingrid_map GoogleMapsSize 800,500
attr Ingrid_map GoogleMapsStroke #000000,6,50,#FF0000,1,100
attr Ingrid_map GoogleMapsStyle default
attr Ingrid_map GoogleMapsTrafficLayer 1
attr Ingrid_map GoogleMapsZoom 13
attr Ingrid_map end_address xxx
attr Ingrid_map event-on-change-reading .*
attr Ingrid_map includeReturn 1
attr Ingrid_map language de
attr Ingrid_map outputReadings text min
attr Ingrid_map room Maps
attr Ingrid_map start_address xxx
attr Ingrid_map verbose 1
define SVG_logdb_1 SVG logdb:SVG_logdb_1:HISTORY
attr SVG_logdb_1 captionPos left
attr SVG_logdb_1 room Plots
define SVG_logdb_2 SVG logdb:SVG_logdb_2:HISTORY
attr SVG_logdb_2 captionPos left
attr SVG_logdb_2 room Plots
define logdb_Reopen at +*00:15:00 set logdb reopen
attr logdb_Reopen room Allgemein
define Unwetterzentrale UWZ DE 80331 3600
attr Unwetterzentrale humanreadable 1
attr Unwetterzentrale room Wetter-Vorhersage


Werde gleich mal die 'hausautomatisierung-com/custom.js' entfernen und stattdessen das standard template einsetzen.
Ergebnis-Bericht folgt.
3x raspi + cam-Modul mit mmal-motion - 2x raspi mit KODI - 1x raspi mit FHEM + FTUI

Wernieman

Also über telnet hast Du Zugriff und fhem läuft, wie man am "list" sieht. Warum jetzt WEB nicht geht ... dazu habe ich selber in der Richtung zu wenig Ahnung. Sorry

P.S. wenn Du interaktiv über telnet arbeiten möchtest und nicht immer über "echo | nc" kannst Du auch direkt telnet nehmen. So kannst Du fhem direkt steuern.
- 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

ulobo60

hi Wernieman,
zuerst nochmals vielen Dank für Deine Mühen.
Vielleicht hat ja Rudi noch eine Idee?!

Und: das Eliminieren der Template-js hat keine Besserung gebracht.

Habe 3 Fragen zu 'telnet':
1. Habe in den logs vergangener Tage öfter mal was von "Telnet disconnected" gelesen. Wäre das nicht ein unsicherer Zugang als über WEB?
2. Lasse mir das FTUI eigentlich über ein billiges Windows-10-Tablet im Wohnzimmer anzeigen. Ginge das auch über die Telnet-Verbindung mittels Browser-Anzeige, oder kann ich dann ein Backend vergessen? Ich steuere nämlich (außer dem Gäste-WLAN) nix und lasse mir nur alles Mögliche anzeigen.
3. Ich habe keinen blassen Schimmer, wie ich den Zugang über Telnet statt über "echo | nc" einrichte.
Könntest Du mir dazu bitte evtl. den/die Befehl(e) aufschreiben oder ist das so umfangreich, dass ich mich da über die Wikis lieber selber einarbeiten sollte?

thx im Voraus  ;)
3x raspi + cam-Modul mit mmal-motion - 2x raspi mit KODI - 1x raspi mit FHEM + FTUI

Fixel2012

Zitat von: ulobo60 am 01 Dezember 2017, 13:05:49
3. Ich habe keinen blassen Schimmer, wie ich den Zugang über Telnet statt über "echo | nc" einrichte.
Könntest Du mir dazu bitte evtl. den/die Befehl(e) aufschreiben oder ist das so umfangreich, dass ich mich da über die Wikis lieber selber einarbeiten sollte?

thx im Voraus  ;)


Sollte eigentlich recht einfach sein:

telnet <Fhem-IP> 7072

Dazu muss du vielleicht erst noch telnet installieren.
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

rudolfkoenig

Zitat...
define allowed_WEB allowed
attr allowed_WEB basicAuth bG9ibzxxx
attr allowed_WEB room Allgemein
attr allowed_WEB validFor WEB

define allowed_telnetPort allowed
attr allowed_telnetPort password xxx
attr allowed_telnetPort room Comm
attr allowed_telnetPort validFor WEB,telnetPort
...

Ein allowed mit passwort aber ohne basicAuth, zustaendig fuer eine FHEMWEB-Instanz erzeugt eine ungueltige/leere Seite im Browser. basicAuth setzen oder validFor anpassen loest das Problem.

Wenn auch noch weitere allowed Eintraege involviert sind, dann wird es kompliziert, und dann haben wir viele Faelle zu diskutieren :)

Zu den Fragen:
1. haengt davon ab, "telnet" kann man auch mit SSL absichern, dann muss man aber auch einen SSL faehigen client verwenden, siehe commandref Eintrag bei telnet, SSL Attribut. Strenggenommen implementiert das FHEM telnet Modul einen TCP/IP Server, ohne Protokoll, und mit SSL ist es nicht mehr telnet kompatibel.
2. Nein, ein Browser kommt nur mit HTTP zurecht, und das wird in FHEMWEB implementiert.
3. So nicht. Ohne SSL kannst du auch putty verwenden, man muss aber das telnet Protokoll (und lokales echo?) aktivieren.

Das telnet FHEM-Modul ist nichts fuer die, die nicht wissen, was telnet ist, oder die glauben, dass ein Kommandozeilen-Interface einem Grafischen unterlegen ist.

Wernieman

Es war nur, um zu sehen ob es am FHEM (telnet geht nicht) oder "nur" im web-Modul nicht geht (Siehe Antwort von Rudi).

P.S. Lösche bitte umgehend in Deinen Post die Passwörter (übersehen)
- 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