FOSHK an einen Loxone-Miniserver

Für Geräte von froggit
Benutzeravatar
olicat
Offline
Beiträge: 1422
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 18 mal
Danksagung erhalten: 261 mal
Kontaktdaten:

Re: FOSHK an einen Loxone-Miniserver

#11

Beitrag von olicat »

Hi!

Ja, die erste Zeile sollte den Header beinhalten.
Füge den mal bitte ein und probiere, ob WSWin dann die Datei akzeptiert.

Oliver
Benutzeravatar
moppedhausi
Offline
Beiträge: 75
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 27 mal
Danksagung erhalten: 2 mal
Kontaktdaten:

Re: FOSHK an einen Loxone-Miniserver

#12

Beitrag von moppedhausi »

Dann funktioniert es .
Benutzeravatar
moppedhausi
Offline
Beiträge: 75
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 27 mal
Danksagung erhalten: 2 mal
Kontaktdaten:

Re: FOSHK an einen Loxone-Miniserver

#13

Beitrag von moppedhausi »

Jetzt die Frage aller Fragen Oliver,
wie bekomme ich dauerhaft diese Zeile in diese wswin.csv?
Benutzeravatar
olicat
Offline
Beiträge: 1422
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 18 mal
Danksagung erhalten: 261 mal
Kontaktdaten:

Re: FOSHK an einen Loxone-Miniserver

#14

Beitrag von olicat »

Hi!

Ich verstehe die Frage nicht - wenn die Zeile erstmal drin ist, bleibt sie doch auch dort?
Was also meinst Du?

Oliver
Benutzeravatar
moppedhausi
Offline
Beiträge: 75
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 27 mal
Danksagung erhalten: 2 mal
Kontaktdaten:

Re: FOSHK an einen Loxone-Miniserver

#15

Beitrag von moppedhausi »

Leider nicht, denn WsWin löscht die Datei nachdem sie eingelesen wurde.
Benutzeravatar
olicat
Offline
Beiträge: 1422
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 18 mal
Danksagung erhalten: 261 mal
Kontaktdaten:

Re: FOSHK an einen Loxone-Miniserver

#16

Beitrag von olicat »

Hi!

Wie kann denn WSWin eine Datei auf dem Webserver loeschen?
Oder wie kommt WSWin an die Datei ran?

FOSHKplugin schreibt bei Uebertragung per http/POST die Datei nicht selbst - kann somit nicht wissen, ob die Datei bereits vorhanden ist und ob ein passender CSV-Header enthalten ist. Das Dateihandling uebernimmt in diesem Fall ja der Webserver bzw. das annehmende Script.
Daher kann FOSHKplugin in diesem Fall auch den Header nicht mitliefern - es weiss ja nicht, ob der gerade erforderlich ist oder nicht.
Bei den anderen Verfahren (FTP(S), Dateisystem) hat FOSHKplugin die Kontrolle und schreibt ggf. den Header in die Datei.

Du koenntest aber das Empfangsscript leicht modifizieren, das es bei Fehlen der Datei den CSV-Header reinschreibt:

Code: Alles auswählen

<?php
  # WSWin header for CSV files
  $WSWinCSVHeader = ";;1;17;133;2;18;35;36;45;134;42;41;3;19;4;20;5;21;6;22;7;23;8;24;29;30;31;32;25;26;27;28;37;13;14;15;16\r\n";

  # set user & password to allow upload
  $known_user = "user";
  $known_password = "password";
  
  # set another user & password to allow upload
  $known_user2 = "user2";
  $known_password2 = "password2";

  $content = $_POST['content'];
  $filename = $_POST['filename'];
  $user = $_POST['user'];
  $password = $_POST['password'];
  $append = $_POST['append'];
  
  if (($known_user == $user and $known_password == $password) or ($known_user2 == $user and $known_password2 == $password)) {
    $file = $filename;
    $writeHeader = !(file_exists($file));
    if ($append == "True") { $Saved_File = fopen($file, 'a'); } else { $Saved_File = fopen($file, 'w'); }
    if ($writeHeader) { fwrite($Saved_File, $WSWinCSVHeader); }
    fwrite($Saved_File, $content);
    fclose($Saved_File);
    echo "ok";
    http_response_code(200);
  } else {
    echo "unauthorized access!";
    http_response_code(401);
  }
?>
Oliver
Benutzeravatar
olicat
Offline
Beiträge: 1422
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 18 mal
Danksagung erhalten: 261 mal
Kontaktdaten:

Re: FOSHK an einen Loxone-Miniserver

#17

Beitrag von olicat »

Als Nachtrag:

Aber Vorsicht!
Das Empfangsscript nimmt jegliche Dateien an und schreibt IMMER den CSV-Header rein, wenn es die Datei nicht gibt.
Im Falle der WSWin-CSV ist das hilfreich. Bei clientraw.txt, realtime.txt und den anderen Ausgabeformen ist das aber kontraproduktiv.
Dieses Script ist also nur und ausschließlich bei WSWin-Export sinnvoll!

Vielleicht optimiere ich da das FOSHKplugin nochmal, so daß es dem Script auch das Ausgabeformat mitteilt. Dann kann das Script explizit auf WSWin-Export reagieren und nur dann den Header schreiben.

Nachtrag zum Nachtrag:
In der naechsten FOSHKplugin-Version wird das auszugebende Format per http/POST mit uebergeben. Das Empfangsscript kann dann darauf reagieren und nur bei Bedarf (und Sinnhaftigkeit) den CSV-Header schreiben.

Oliver
Benutzeravatar
moppedhausi
Offline
Beiträge: 75
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 27 mal
Danksagung erhalten: 2 mal
Kontaktdaten:

Re: FOSHK an einen Loxone-Miniserver

#18

Beitrag von moppedhausi »

Guten Tag zusammen.

Nun läuft PWSDashboard zu meiner Zufriedenheit auf meinem lokalen Server.
Nun möchte ich es aber auch auf meiner Webspace installieren.

In der foshkplugin.conf habe ich folgendes eingetragen:

[Forward-6]
FWD_TYPE = EW
FWD_CMT = wetter-willich.de
FWD_URL = ftp://mein_Server.com:80/wetter/pwsneu/ecowitt/
FWD_SID = Benutzername
FWD_PWD = mein_Passwort
FWD_INTERVAL = 20
FWD_ENABLE = True

Es kommt die Fehlermeldung in der log-foshkplugin.log:
22.11.2022 14:43:26.354 <WARNING> FWD-06: URL must start with "http://" - adapted to http://ftp://mein_Server.com:80/wetter/pwsneu/ecowitt/

Wie bekomme ich die ecco_lcl.arr auf meinem Webspace?
Benutzeravatar
olicat
Offline
Beiträge: 1422
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 18 mal
Danksagung erhalten: 261 mal
Kontaktdaten:

Re: FOSHK an einen Loxone-Miniserver

#19

Beitrag von olicat »

Hi!

Die baut sich PWSDashboard durch die eingehenden Daten selbst.
Du musst also nicht das LCL dorthin senden, sondern die Daten der Wetterstation selbst.

Code: Alles auswählen

[Forward-6]
FWD_TYPE = EW
FWD_CMT = wetter-willich.de
FWD_URL = http://mein_Server.com/wetter/pwsneu/ecowitt/
FWD_INTERVAL = 20
FWD_ENABLE = True
Auf dem Webserver muss im Verzeichnis /wetter/pwsneu/ecowitt/ dann die um Deinen PASSKEY ($passkey1) ergaenzte index.php liegen.

Oliver
Benutzeravatar
moppedhausi
Offline
Beiträge: 75
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 27 mal
Danksagung erhalten: 2 mal
Kontaktdaten:

Re: FOSHK an einen Loxone-Miniserver

#20

Beitrag von moppedhausi »

Danke Oliver.
Jetzt blicke ich wieder durch.
Irgendwo habe ich in diesem Forum gelesen, es gibt Probleme bei https, ich finde es aber nicht mehr.

EDIT:
habs mit einer Subdomain lösen können. Danke.
Antworten