Zeiterfassung als Log per Mail senden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11234

    #16
    Die Webbrowser erlauben die Syntax
    Code:
    http://user:pass@server/
    nicht mehr und fragen immer nach dem Passwort, aber normale Tools wie curl, oder die SDK's von Programmiersprachen, können mit der Angabe von User und Passwort umgehen.
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar

    • Xenobiologist
      Lox Guru
      • 15.01.2016
      • 1117

      #17
      Kommst du auch per FTP also Port 21 an den Miniserver? Dann wäre es ja sehr einfach.

      Hier zB per Autoit ( Skriptsprache ). Wenn das geht, dann könntest du das ganze in eine exe packen und dem Kunden geben.
      Des Weiteren könntest du auch mit Autoit gleich deine Ausgabe für den Kunden bauen, oder ein Excel schreiben oder oder oder

      Code:
      ; Download per FTP vom Loxone Miniserver
      
      #include <FTPEx.au3>
      #include <MsgBoxConstants.au3>
      
      Local $username = 'Name'
      Local $password = 'pass
      Local $ip_miniserver = '192.168.178.77'
      Local $port = 21
      
      Local $hOpen = _FTP_Open('MyFTP Control')
      Local $hFTPSession = _FTP_Connect($hOpen, $ip_miniserver, $username, $password)
      If @error Then
          MsgBox($MB_SYSTEMMODAL, '_FTP_Connect', 'ERROR=' & @error)
      Else
          Local $iErr = @error, $sFTP_Message
          _FTP_GetLastResponseInfo($iErr, $sFTP_Message)
          ConsoleWrite('$iErr=' & $iErr & '   $sFTP_Message:' & @CRLF & $sFTP_Message & @CRLF)
      
          _FTP_FileGet($hFTPSession, '/log/def.log', @ScriptDir & '\def.log')
      
      EndIf
      _FTP_Close($hFTPSession)
      _FTP_Close($hOpen)
      Was auch gehen würde wäre, wenn du ne VPN Verbindung in dein Netz automatisierst und dann den FileDownload usw machst.
      Zuletzt geändert von Xenobiologist; 10.08.2022, 20:58.
      Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
      https://www.loxforum.com/forum/germa...d-grafana-visu
      Mit Loxone einen Windows-PC steuern:
      https://www.loxforum.com/forum/faqs-...indows-steuern

      Kommentar

      • Xenobiologist
        Lox Guru
        • 15.01.2016
        • 1117

        #18
        Hier noch mal ein Versuch per HTTP ohne, dass der User (dein Kunde) direkt User und Passwort sieht.
        Müsste man mal über HTTPS (Gen 2) bzw. über externe IP probieren.
        Ich mache alles immer lokal (mit oder ohne VPN)

        Code:
        ;https://www.loxone.com/enen/kb/web-services/
        #include <WinHttp.au3>
        Opt("MustDeclareVars", 1)
        
        Global $user = 'USER'
        Global $password = 'PASSWORD'
        Global $ip = '192.168.178.77'
        Global $port = '50000'
        
        ; Open needed handles
        Local $hOpen = _WinHttpOpen()
        Local $hConnect = _WinHttpConnect($hOpen, 'http://' & $user & ':' & $password & '@' & $ip & ':' & $port)
        
        ; HIER DEINEN PFAD ZU DEINER DATEI EINTRAGEN!!!
        Local $hRequest = _WinHttpOpenRequest($hConnect, Default, '/dev/fsget/log/def.log')
        
        ; Set credentials
        _WinHttpSetCredentials($hRequest, $WINHTTP_AUTH_TARGET_SERVER, $WINHTTP_AUTH_SCHEME_BASIC, $user, $password)
        
        ; Send request
        _WinHttpSendRequest($hRequest)
        
        ; Wait for the response
        _WinHttpReceiveResponse($hRequest)
        
        ;~ Local $sHeader = _WinHttpQueryHeaders($hRequest) ; ...get full headerT
        ConsoleWrite(_WinHttpReadData($hRequest) & @CRLF)
        ClipPut(_WinHttpReadData($hRequest) & @CRLF)
        
        ; Clean
        _WinHttpCloseHandle($hRequest)
        _WinHttpCloseHandle($hConnect)
        _WinHttpCloseHandle($hOpen)
        
        Func _URIEncode($sData)
            ; Prog@ndy
            Local $aData = StringSplit(BinaryToString(StringToBinary($sData, 4), 1), "")
            Local $nChar
            $sData = ""
            For $i = 1 To $aData[0]
                ; ConsoleWrite($aData[$i] & @CRLF)
                $nChar = Asc($aData[$i])
                Switch $nChar
                    Case 45, 46, 48 To 57, 65 To 90, 95, 97 To 122, 126
                        $sData &= $aData[$i]
                    Case 32
                        $sData &= "%20" ; Anpassung Xenobiologist (&20 anstatt +)
                    Case Else
                        $sData &= "%" & Hex($nChar, 2)
                EndSwitch
            Next
            ConsoleWrite($sData & @CRLF)
            Return $sData
        EndFunc   ;==>_URIEncode
        Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
        https://www.loxforum.com/forum/germa...d-grafana-visu
        Mit Loxone einen Windows-PC steuern:
        https://www.loxforum.com/forum/faqs-...indows-steuern

        Kommentar

        • Gast

          #19
          Hallo allerseits,

          bei mir ist folgende Komplikation bei Umsetzung des Zeiterfassungsystems aufgetreten:
          die Log-Datei wird nicht sofort beschrieben, wenn Mitarbeiter sich an- bzw. abmelden, sondern in eine Zwischendatei mit automatisch generiertem Namen wie "19e845a2-0276-67ff-ffff5e06208e3fac.txt". Dort sind die Daten offensichtlich in einem internen Format zwischengespeichert:


          Code:
          {"ts":1665936536,"output":-1,"type":7}/{"ts":1665936718,"output":5,"type":0,"user":"Victoria (001)"}/{"ts":1665937608,"output":5,"type":0,"user":"Victoria (001)"}/{"ts":1665937614,"output":6,"type":0,"user":"Victoria (001)"}/{"ts":1665939603,"output":1,"type":1,"description":"Baulicht Tresen"}/{"ts":1665939623,"output":5,"type":0,"user":"Victoria"}/{"ts":1665939639,"output":5,"type":0,"user":"MA1"}/{"ts":1665939649,"output":5,"type":0,"user":"MA2"}/
          Wenn ich den MS neustarte oder wenn ich die Konfig neulade, werden die Daten im richtigen Format in die richtige Log-Datei übertragen:

          Code:
          2022-10-16 18:26:48;001;Dienst Start;2022-10-16 18:26:48
          2022-10-16 18:26:54;001;Dienst Ende;2022-10-16 18:26:54
          2022-10-16 19:00:23;Victoria;Dienst Start;2022-10-16 19:00:23
          2022-10-16 19:00:39;MA1;Dienst Start;2022-10-16 19:00:39
          2022-10-16 19:00:49;MA2;Dienst Start;2022-10-16 19:00:49​

          Nach welchem Regelmäßigkeitsprinzip schreibt MS Daten in Log-Files runter?
          Ich teste das System erst, vielleicht sind zu wenig einträge im Zwischenspeicher oder so?

          Grúße,
          Cyberwolf

          Kommentar

          • Christian Fenzl
            Lebende Foren Legende
            • 31.08.2015
            • 11234

            #20
            Remanenzdateien und Statistiken schreibt der MS alle 60 Minuten, wahrscheinlich ist es hier das gleiche Intervall.
            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

            Kommentar

            • Gast

              #21
              Das hat funktioniert, vielen dank.
              Allerdings verstehe ich folgendes nicht:
              Analogspeicher behält seinen Wert am Ausgang, der Logger sieht einen konstanten Wert also immer noch, allerdings einen gespeicherten (als ob die Temperatur gleich bleiben würde).
              Beim Impuls reagiert der Logger auch und übernimmt den Wert egal, ob dieser sich geändert hat oder nicht. Aber der Impuls triggert den Spreicher und nicht den Logger. Wie erkennt der Logger den Trigger?
              Sorry, falsches Thread
              Zuletzt geändert von Gast; 16.10.2022, 21:38.

              Kommentar

              • Gast

                #22
                Wie könnte man den Status der Mitarbeiter in der Visualisierung wieder zu spiegeln?
                Nach dem Folgenden Schema z.B.: Benutzer gibt den Code ein -> Autorisierung erfolgreich -> Der Status des Benutzers (Mitarbeiter) ändert sich auf "im Dienst".
                Kann man die Variablen ( wie z.B. <v1> im Statuskonfigurationsmenu) zu visualisieren, um den Namen des Benutzers anzuzeigen.?

                Kommentar

                • THX
                  Lox Guru
                  • 06.01.2016
                  • 1499

                  #23
                  Ich bin auf der Suche nach einer automatisierten Versendung von Ladesessions eines Benutzers, hat das schon mal jemand umgesetzt?
                  D.h. z.b. einmal im Monat oder manuell sollen alle Ladesessions (Wallboxbaustein) eines bestimmten Benutzers via Mail versendet werden.
                  Das kann z.B. für eine Abrechnung mit dem Arbeitgeber notwendig sein. Idealerweise ist das File gleich "brauchbar" formatiert z.B. mit UserID, Datum, Ladesession von-bis, geladene Energie kWh, kann man das mit "Loxone Miniserver" Mitteln umsetzen?
                  Smarthome: Überläufer vom KNX Lager --> Loxone Fan der ersten Stunde --> Loxone killed the KNX star
                  DvD: Diverse KNX und Loxone Mischinstallationen, aber auch Loxone "Exclusive" Projekte im Freundeskreis und Zuhause
                  Netzwerk: Ubiquiti / Unify Fan (USG, Cloud Key, ...)
                  Audio/Video: Heimkino FAN -- Dolby Atmos 5.1.2 (alles von FOCAL)

                  Kommentar


                  • klexi
                    klexi kommentierte
                    Kommentar bearbeiten
                    Hallo THX, hast du den Mailversand bei dir schon umgesetzt? Ich suche genau so eine Lösung
                Lädt...