Calendar kann Netxcloud Kalender nicht laden

Begonnen von WhyTea, 16 Februar 2022, 12:20:43

Vorheriges Thema - Nächstes Thema

WhyTea

Zitat von: Dr. Boris Neubert am 17 Februar 2022, 10:27:17
Aha, kommt das aus FHEMWEB?
Ja das kommt auf dem FHEMWEB als Popup.

Zitat von: Dr. Boris Neubert am 17 Februar 2022, 10:27:17
Kannst Du Dich bitte mal mit

telnet DeineFHEMMaschine 7072

oder einem anderen Terminalprogramm mit der FHEM-Konsole verbinden und den Befehl dort ausführen?

An localhost kann ich mich mit telnet verbinden.
root@fhem:~# telnet 127.0.0.1 7072
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Password:

fhem>

sowohl als root als auch als fhem

Meine Telnet Konfiguration sieht wie folgt aus:
define localTelnet telnet 7072
setuuid localTelnet 5c46c491-f33f-a5a6-4bcf-04f6f482c8c2af03
attr localTelnet room Zentralsysteme->System

define allowed_localTelnet allowed
setuuid allowed_localTelnet 5c46c491-f33f-a5a6-1164-e761fd956edfda82
attr allowed_localTelnet password xxxxxxxxxx
attr allowed_localTelnet room Zentralsysteme->System
attr allowed_localTelnet validFor localTelnet


CoolTux

Dann geh noch mal in die telnet Session und mach da ein

get Nageltermine vcalendar
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

WhyTea

Zitat von: CoolTux am 17 Februar 2022, 11:07:48
Dann geh noch mal in die telnet Session und mach da ein

get Nageltermine vcalendar

Sieht für mich gut aus.

root@fhem:~# su fhem
fhem@fhem:/root$ cd /home/fhem/
fhem@fhem:/home/fhem$ telnet 127.0.0.1 7072
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Password:

fhem> get Nageltermine vcalendar
<!DOCTYPE html>
<html class="ng-csp" data-placeholder-focus="false" lang="de" data-locale="de" >
<head
data-requesttoken="">
<meta charset="utf-8">
<title>
NW HomeConsulting </title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<meta name="apple-itunes-app" content="app-id=1125420102">
<meta name="theme-color" content="#B90081">
<link rel="icon" href="/apps/theming/favicon?v=10">
<link rel="apple-touch-icon" href="/apps/theming/icon?v=10">
<link rel="mask-icon" sizes="any" href="/core/img/favicon-mask.svg" color="#B90081">
<link rel="manifest" href="/apps/theming/manifest?v=10">
<link rel="stylesheet" href="/core/css/guest.css?v=c807d3aa-10">
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/core/js/dist/main.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/core/js/dist/files_fileinfo.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/core/js/dist/files_client.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/js/core/merged-template-prepend.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/core/l10n/de.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/apps/comments/l10n/de.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/apps/comments/js/comments-app.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/apps/files_sharing/l10n/de.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/apps/files_sharing/js/dist/main.js?v=c807d3aa-10"></script>
</head>
<body id="body-login">
<noscript>
<div id="nojavascript">
<div>
Diese Anwendung benötigt JavaScript zum ordnungsgemäßen Betrieb. Bitte <a href="https://www.enable-javascript.com/" target="_blank" rel="noreferrer noopener">aktiviere JavaScript</a> und lade die Seite neu. </div>
</div>
</noscript>
<input type="hidden" id="initial-state-comments-max-message-length" value="MTAwMA==">
<input type="hidden" id="initial-state-comments-maxAutoCompleteResults" value="MTA=">
<input type="hidden" id="initial-state-accessibility-data" value="eyJjaGVja01lZGlhIjp0cnVlLCJ0aGVtZSI6ZmFsc2UsImhpZ2hjb250cmFzdCI6ZmFsc2V9">
<div class="wrapper">
<div class="v-align">
<header role="banner">
<div id="header">
<div class="logo">
<h1 class="hidden-visually">
NW HomeConsulting </h1>
<img src="/apps/theming/image/logo?useSvg=1&amp;v=10"/>
</div>
</div>
</header>
<main>
<div class="error">
<h2>Fehler</h2>
<ul>
<li>
<p>App not installed: </p>
</li>
</ul>
</div>
</main>
</div>
</div>
<footer role="contentinfo">
<p class="info">
<a href="http://www.nw-nails.de" target="_blank" rel="noreferrer noopener" class="entity-name">NW HomeConsulting</a> – ein sicherer Ort für all Deine Daten </p>
</footer>
</body>
</html>

fhem>

Dr. Boris Neubert

So, damit ist ein Teil des Problems gelöst.

Der Abruf der URL aus der Nextcloud liefert nicht den Kalender sondern eine Webseite, die sich darüber beschwert, dass Javascript nicht aktiviert ist. Warum ein wget auf dieselbe URL aber den Kalender beschafft, ist mir unklar. Ich hoffe auf die Kenner der Kalender-Funktion von Nextcloud.

Kannst Du bitte mal aramis' Rat befolgen?

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

WhyTea

Zitat von: Dr. Boris Neubert am 17 Februar 2022, 11:39:52
Kannst Du bitte mal aramis' Rat befolgen?
Das macht bei mir leider keinen Unterschied ob mit oder ohne "/"


WhyTea

Zitat von: CoolTux am 16 Februar 2022, 16:17:50
Dein Link klappt bei mir.

Zitat von: betateilchen am 16 Februar 2022, 16:18:50
Bei mir funktioniert Dein public Calendar völlig problemlos.


defmod nc_test Calendar ical url https://whytea.ipfire-zuhause.de/remote.php/dav/public-calendars/PSCcwp9TABM24m3y?export

setstate nc_test triggered
setstate nc_test 2022-02-16 16:17:04 calname test2 (nadine)
setstate nc_test 2022-02-16 16:17:04 lastUpdate 2022-02-16 16:17:02
setstate nc_test 2022-02-16 16:17:04 nextUpdate 2022-02-16 17:17:02
setstate nc_test 2022-02-16 16:17:04 nextWakeup 2022-02-16 17:17:02
setstate nc_test 2022-02-16 16:17:04 state triggered



Das wundert mich dann jetzt aber wirklich!  ???

WhyTea

#36
Okay ich hab die Ursache gefunden.

Ich betreibe meinen FHEM hinter einem Proxy und habe das Attribut dem entsprechend gesetzt.

attr global proxy 192.168.6.1:800
attr global proxyExclude ^192\.168\.6\.*|.*\.lan\.whity$


Wenn ich das Attribut entferne und dem FHEM direkten Internetzugang erlaube geht es.

Nun habe ich im Kalenderdevice das Attribut SSLVerify gesetzt.
attr Nageltermine SSLVerify 0

Zusätzlich habe ich die Kalender URL auf die lokale IP-Adresse der Nextcloud geändert.
defmod Nageltermine Calendar ical url https://user:password@192.168.6.114/remote.php/dav/calendars/nadine/naegel?export 3600

Das geht jetzt auch. Dies ist natürlich nur ein Workaround und eigentlich keine Lösung bzw. Erklärung warum es durch einen Proxy nicht geht.
Zumal das nur geht weil ich meine Netxcloud bei mir Zuhause betreibe und nicht bei einem Hoster.

Aber wir sind wieder einen Schritt weiter und ich bin gerne weiter bei der Analyse behilflich.  ;D




Dr. Boris Neubert

Sehr gut, wir kommen weiter!

Das Fehlerbild deutet darauf hin, dass FHEM Schwierigkeiten haben könnte, via HTTPUtils über einen Proxy auf den Nextcloud-Server zuzugreifen.

Gehen Aufrufe des Kalenders via wget auch über den Proxy?
Die Seite, die statt des VCALENDARs heruntergeladen wird, kommt die vom Nextcloud-Server oder vom Proxy? Da stehen ein paar interessante Dinge im HTML-Code, die Dir die Frage zu beantworten erlauben sollten.
Weitere Tests sollten mittels direktem Aufruf der Perl-Funktionen in HTTPUtils.pm zum Abruf des Nextcloud-Kalenders oder anderer Seiten hinter dem Proxy erfolgen, um sich an das Problem heranzutasten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

Zitat von: WhyTea am 17 Februar 2022, 13:27:27
Ich betreibe meinen FHEM hinter einem Proxy und habe das Attribut dem entsprechend gesetzt.


attr global proxy 192.168.6.1:800
attr global proxyExclude ^192\.168\.6\.*|.*\.lan\.whity$



800 ist ein ungewöhnlicher port für eine Proxy-Konfiguration.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

WhyTea

#39
Zitat von: Dr. Boris Neubert am 17 Februar 2022, 13:35:11
Sehr gut, wir kommen weiter!

Das Fehlerbild deutet darauf hin, dass FHEM Schwierigkeiten haben könnte, via HTTPUtils über einen Proxy auf den Nextcloud-Server zuzugreifen.

Gehen Aufrufe des Kalenders via wget auch über den Proxy?

Ja wget geht auch durch den Proxy.
Siehe hier: https://forum.fhem.de/index.php/topic,126240.msg1208605.html#msg1208605

Zitat von: Dr. Boris Neubert am 17 Februar 2022, 13:35:11
Die Seite, die statt des VCALENDARs heruntergeladen wird, kommt die vom Nextcloud-Server oder vom Proxy? Da stehen ein paar interessante Dinge im HTML-Code, die Dir die Frage zu beantworten erlauben sollten.

Wenn Du das hier meinst:

root@fhem:~# su fhem
fhem@fhem:/root$ cd /home/fhem/
fhem@fhem:/home/fhem$ telnet 127.0.0.1 7072
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Password:

fhem> get Nageltermine vcalendar
<!DOCTYPE html>
<html class="ng-csp" data-placeholder-focus="false" lang="de" data-locale="de" >
<head
data-requesttoken="">
<meta charset="utf-8">
<title>
NW HomeConsulting </title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<meta name="apple-itunes-app" content="app-id=1125420102">
<meta name="theme-color" content="#B90081">
<link rel="icon" href="/apps/theming/favicon?v=10">
<link rel="apple-touch-icon" href="/apps/theming/icon?v=10">
<link rel="mask-icon" sizes="any" href="/core/img/favicon-mask.svg" color="#B90081">
<link rel="manifest" href="/apps/theming/manifest?v=10">
<link rel="stylesheet" href="/core/css/guest.css?v=c807d3aa-10">
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/core/js/dist/main.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/core/js/dist/files_fileinfo.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/core/js/dist/files_client.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/js/core/merged-template-prepend.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/core/l10n/de.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/apps/comments/l10n/de.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/apps/comments/js/comments-app.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/apps/files_sharing/l10n/de.js?v=c807d3aa-10"></script>
<script nonce="bXRDWE1oMU1kTDZLT0EvUVUyTUFpTlBDUUlOSU1wQzZqdUlLUWtGd0d2VT06dzVyMEFDb2JJNC9QVnlDSUNUbFdwNys2SXUwK1ZQbVIyYzE5S1RFVUxJWT0=" defer src="/apps/files_sharing/js/dist/main.js?v=c807d3aa-10"></script>
</head>
<body id="body-login">
<noscript>
<div id="nojavascript">
<div>
Diese Anwendung benötigt JavaScript zum ordnungsgemäßen Betrieb. Bitte <a href="https://www.enable-javascript.com/" target="_blank" rel="noreferrer noopener">aktiviere JavaScript</a> und lade die Seite neu. </div>
</div>
</noscript>
<input type="hidden" id="initial-state-comments-max-message-length" value="MTAwMA==">
<input type="hidden" id="initial-state-comments-maxAutoCompleteResults" value="MTA=">
<input type="hidden" id="initial-state-accessibility-data" value="eyJjaGVja01lZGlhIjp0cnVlLCJ0aGVtZSI6ZmFsc2UsImhpZ2hjb250cmFzdCI6ZmFsc2V9">
<div class="wrapper">
<div class="v-align">
<header role="banner">
<div id="header">
<div class="logo">
<h1 class="hidden-visually">
NW HomeConsulting </h1>
<img src="/apps/theming/image/logo?useSvg=1&amp;v=10"/>
</div>
</div>
</header>
<main>
<div class="error">
<h2>Fehler</h2>
<ul>
<li>
<p>App not installed: </p>
</li>
</ul>
</div>
</main>
</div>
</div>
<footer role="contentinfo">
<p class="info">
<a href="http://www.nw-nails.de" target="_blank" rel="noreferrer noopener" class="entity-name">NW HomeConsulting</a> – ein sicherer Ort für all Deine Daten </p>
</footer>
</body>
</html>

fhem>


Das kommt definitiv von der Nextcloud.

Zitat von: Dr. Boris Neubert am 17 Februar 2022, 13:35:11
Weitere Tests sollten mittels direktem Aufruf der Perl-Funktionen in HTTPUtils.pm zum Abruf des Nextcloud-Kalenders oder anderer Seiten hinter dem Proxy erfolgen, um sich an das Problem heranzutasten.
Sag einfach was ich tun soll ich bin für fast alle Schandtaten bereit. ;-)

betateilchen

#40
Zitat von: WhyTea am 17 Februar 2022, 14:59:46
Sag einfach was ich tun soll ich bin für fast alle Schandtaten bereit.

Mach mal in der FHEM Befehlszeile folgendes:


{GetFileFromURL('deine URL zum Kalender')}


Das sollte Logmeldungen im Loglevel 4 produzieren, die vielleicht weiterhelfen.

Edit: sorry, da fehlte eine Klammer.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

WhyTea

Gesagt, getan aber sehen tu ich nix im Log.

Wenn ich die lokale IP nehme zeigt er mir die vcalender Daten.
Wenn ich den extern erreichbaren DNS-Namen benutze und er somit per Proxy raus geht zeigt er mir die Html-Datei an wie bei der Verbindung per Telnet.

Ein attr global verbose 4 brachte zwar jede Menge Logeinträge aber nichts mit Bezug auf das abgesetzte Kommando.

Oder habe ich da was falsch verstanden?  :-\

betateilchen

Verstehe ich das richtig?

Du versuchst, aus Deinem lokalen Netzwerk über Deinen eigenen Proxy einen Server über seine externe Adresse quasi "von außen" anzusprechen, der sich in Wirklichkeit in Deinem lokalen Netzwerk befindet?

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

WhyTea

Wenn Du das so schreibst klingt das in der tat etwas seltsam.  ;D

Der normale zustand ist, dass die Nextcloud in einer DMZ steht und nicht im selben Subnetz.
Und dem FHEM möchte keinen direkten Internetzugang erlauben daher möchte ich einen Proxy verwenden.

Die Krücke, dass die Nextcloud im selben Subnetz steht habe ich nur gebaut weil Du und CoolTux sauber zugreifen konntet und ich nicht.

Dr. Boris Neubert

Hallo,

welchen Proxy verwendest Du denn bitte?

Kannst Du sehen, welchen Request FHEM an den Proxy sendet und welcher Request vom Proxy an den Nextcloud-Server geht?

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!