No description
Find a file
2025-12-08 14:44:59 +01:00
.env.example Initial commit: inberlin apartment monitor with autopilot 2025-12-08 14:44:59 +01:00
.gitignore Initial commit: inberlin apartment monitor with autopilot 2025-12-08 14:44:59 +01:00
.python-version Initial commit: inberlin apartment monitor with autopilot 2025-12-08 14:44:59 +01:00
debug_page.html Initial commit: inberlin apartment monitor with autopilot 2025-12-08 14:44:59 +01:00
docker-compose.yml Initial commit: inberlin apartment monitor with autopilot 2025-12-08 14:44:59 +01:00
Dockerfile Initial commit: inberlin apartment monitor with autopilot 2025-12-08 14:44:59 +01:00
monitor.py Initial commit: inberlin apartment monitor with autopilot 2025-12-08 14:44:59 +01:00
README.md Initial commit: inberlin apartment monitor with autopilot 2025-12-08 14:44:59 +01:00
requirements.txt Initial commit: inberlin apartment monitor with autopilot 2025-12-08 14:44:59 +01:00

inberlin-monitor

Monitors inberlinwohnen.de for new apartment listings and sends Telegram notifications. Supports automatic application submission via autopilot mode.

Features

  • 🔐 Logs in to your personal Wohnungsfinder for filtered results
  • Checks every 5 minutes (configurable)
  • 📱 Sends Telegram notifications for new listings with clickable links
  • 🤖 Autopilot mode: Automatically applies to new listings
  • 📊 /plot command: Visualize when listings appear throughout the week
  • 🏢 Supports multiple housing companies: HOWOGE, Gewobag, Degewo, Gesobau, Stadt und Land, WBM
  • 💾 Persists state to detect only truly new listings
  • 📈 Logs listing times for pattern analysis

Setup

1. Create Telegram Bot

  1. Message @BotFather on Telegram
  2. Send /newbot and follow the prompts
  3. Copy the bot token

2. Get Your Chat ID

  1. Message your new bot (send anything)
  2. Visit: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
  3. Find "chat":{"id":123456789} - that's your chat ID

3. Configure

cp .env.example .env
# Edit .env with your credentials

4. Run

docker compose up -d

5. Check Logs

docker compose logs -f
# or
cat data/monitor.log

Telegram Commands

Command Description
/autopilot on Enable automatic applications
/autopilot off Disable automatic applications
/status Show current status and application stats
/plot Generate weekly listing pattern visualization
/help Show available commands

Configuration

Required

Variable Description
TELEGRAM_BOT_TOKEN Telegram bot token from BotFather
TELEGRAM_CHAT_ID Your Telegram chat ID

Optional - Login

Variable Description Default
INBERLIN_EMAIL inberlinwohnen.de login email -
INBERLIN_PASSWORD inberlinwohnen.de password -
CHECK_INTERVAL Seconds between checks 300

Optional - Form Data (for Autopilot)

Variable Description Default
FORM_ANREDE Salutation (Herr/Frau) Herr
FORM_VORNAME First name Aron
FORM_NACHNAME Last name Petau
FORM_EMAIL Contact email aron@petau.net
FORM_PHONE Phone number 017695773688
FORM_PERSONS Number of persons moving in 1
FORM_CHILDREN Number of children 0
FORM_INCOME Monthly household net income (€) 1600

Without Login

If you don't provide login credentials, the monitor will use the public Wohnungsfinder (shows all listings instead of your personalized filtered results).

Data Files

All data is stored in the ./data directory:

File Description
listings.json Known listings (for duplicate detection)
state.json Monitor state (autopilot on/off)
applications.json Record of submitted applications
listing_times.csv Timing data for pattern analysis
monitor.log Application logs
weekly_plot.png Generated plot from /plot command
*.png Screenshots from application attempts