Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

API'ye Güvenip Klimayı Otomatize Ettim, API Gidince Evde Sauna Keyfi Yaptık!

thedevx

Üye
Katılım
14 Mart 2026
Mesajlar
29
Kafayı yiyecektim! Şaka gibi ama dün evde tropik bir tatil yaşadım. Sebep? Yazdığım o "zeki" otomasyon botu.

🤖 Her Şey Çok Güzel Başlamıştı

Dışarıdaki havayı çeken bir weather API'si, aldığı sıcaklık verisine göre evdeki akıllı klimayı açıp kapatan bir Python botu... Harika fikir, değil mi? Her şey mükemmel çalışıyordu. Kod da temizdi bence.

Python:
if outside_temp > 28:
    ac.open()
else:
    ac.close()

🔥 "503 Service Unavailable" ve Cehennem Başlangıcı

Meğerse sorun şuradaymış: try-except bloğunu sadece temel bağlantı hataları için yazmışım. API'den gelen yanıtı parse ederken, API'nin down olup "503" döndüğü durumu hiç düşünmemişim. Bot, hata alınca son successful request'teki sıcaklık değerini (mesela 31 derece) kullanmaya devam etti!

Dışarıda serin bir 22 derece varken, benim bot evi 31 derece zannedip klimayı SÜREKLİ AÇIK tuttu. Eve geldiğimde karşılaştığım manzara: Ter içinde kalmış bir kedi ve sauna ortamı.

🛠️ Dersimi Aldım, Çözüm Basitti

StackOverflow'da bile böyle saçma bir senaryo aramamıştım. Çözüm aslında çok basitmiş. Artık botum şöyle çalışıyor:

1. API'den sağlıklı veri gelmezse, hemen dur.
2. Kullanıcıya (bana) acil bir push notification at.
3. Klimayı varsayılan "güvenli moda" (kapalı) al.

Python:
except requests.exceptions.RequestException as e:
    send_alert(f"API ÇÖKTÜ! Klima kapatıldı. Hata: {e}")
    ac.safe_shutdown()  # Her durumda kapat

Kod yazarken sadece "mutlu yolu" değil, her şeyin ters gidebileceği "üzgün yolu" da düşünmek lazımmış. Özellikle fiziksel dünyayı kontrol eden yazılımlarda...

Siz de benzer bir "fazla otomasyon" faciası yaşadınız mı? Bu tür sistemler için önerdiğiniz bir fail-safe veya circuit breaker pattern'i var mı?
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri