Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Credit and Acknowledgment

owlogger is a system of multiple components, and leverages several open-source projects:

Python

Python3, and many modules:

  • The standard lib: argparse, datetime, http.server, io.BytesIO, json, math, os, sys, time, urllib, urllib.parse
  • Also the standard database module: sqlite3
  • The requests module for sending data to a remote server

pyownet

  • pyownet by Stefanno Micccoli is python module that communicates directly woth owserver. The version here is slightly modified.
    • update to Python3
    • use f-string formatting
    • included directly in the owlogger repository

owserver

Part of the owfs -- 1-wire file system maintained by a group of developers.

1-wire

8130

1-wire is a simple protocol for communication with external enumerated devices, like memory, temperature and voltage. The protocol actually uses 2 wires, but data and power are combined on a simegle line that multiple sensors can share. Originally Designed by Dallas Semiconductor, it's now produt of Analog Devices

Javascript

Basic code is embeddd in owlogger but a nice calendar function comes from air-datepicker by T1m0n (Timofey).

The air-datepicker code is slightly modified to default to english text and hosted directly in this repository.

caddy

Best practice is to use a reverse-proxy in frnt of owlogger likw caddy by Matt Holt

firewall

ufw is used by Debian and Ubuntu and helps limit external attacks.

sqlite3

The database used is the sqlite3 library by D Richard Hipps. Not only is it imbedded in python, but it can be used as stand-alone program on the database file.

mdbook

This documentation on owlogger os arranged using mdbook -- a documentation system from the Rust Language project.