Home Assistant özenli bir akıllı ev yönetim platformu olsa da, doğru entegrasyon ve uygulama setiyle yüklendiğinde IoT dışı gereçleri de karşılayabilir. Kendi barındırdığınız uygulamalar tarafında Jellyfin, Nextcloud ve llama.cpp’den Proxmox ve TrueNAS gibi tüm ev laboratuvarı platformlarına kadar her şeyle uyumlu çalışabilir. Ancak siz de benim gibi bir 3B yazıcı tutkunuysanız, model üretme yan arkadaşınız için bir sürü güzel birinci taraf ve üçüncü taraf entegrasyonu bulacaksınız.
Aslında Elegoo Centauri Carbon 1 ve 2’yi HASS’a bağladım ve bu, düzenli panelleri ve tetikleme-aksiyon otomasyonlarıyla baskılarını yönetmeyi oldukça kolaylaştırıyor. Ancak 3B yazıcı cephanelerimdeki tüm iplik makaralarının envanterini tutmak için kendi barındırdığım bir Spoolman konteyneri de kullandığım için, bu iplik kullanımını akıllı ev platformumda izlemek adına onun Home Assistant entegrasyonunu kullanabileceğimi düşündüm. Bu ilginç geliyorsa, işte bu iplik izleme hattı için gereken tüm entegrasyon ve otomasyonları yapılandırmaya dair günlüküm.

Home Assistant’da iplik izlemek birkaç entegrasyon gerektirdi
Elegoo ve Spoolman entegrasyonları ilk baştan iyi çalışıyor
Home Assistant’a birden fazla hizmetin dayandığı göz önüne alındığında, bu kurulumun çalışması için bir sürü entegrasyon gerekiyor. 3B yazıcılar için developer danielcherubini‘nin hazırladığı elegoo-homeassistant entegrasyonunu çalışır hale getirmem gerekiyordu ve HASS, Home Assistant Community Store’u (ve sunduklarını) yerleşik Marketplace’e taşıdığı için bu entegrasyonun yapılandırılması artık daha da basit.

CC1’im için yaptığım tek şey 3B yazıcının IP adresini entegrasyon yapılandırma sayfasına eklemek oldu ve Home Assistant, iplik sensörlerini, web kamerasını ve diğer yönlerini özel bir panelde izleyebildi. Ancak Centauri Carbon 2’mde yalnızca LAN modunu etkinleştirmem ve 3B yazıcıyı entegrasyonla eşleştirmek için IP adresini ve erişim kodunu kullanmam gerekiyordu, çünkü bulut modu, Elegoo’nun sunucusunu kimlik doğrulaması için kullandığı gerçeği nedeniyle sorun çıkarıyordu.
Spoolman ayrıca, geliştirici Disane87 tarafından geliştirilen spoolman-homeassistant adlı üçüncü taraf bir entegrasyona ihtiyaç duyuyor. Kurulumu, Elegoo entegrasyonu kadar basit; Spoolman’ımın IP adresini Home Assistant’a ekler eklememe spool’larımı görüntüleyebildim.
Bu noktada entegrasyon silahlarımı kurmayı tamamlamıştım; CC1’imde OpenCentauri yazılımını kullanırsam, filament izleyici otomasyon zincirlerini herhangi bir sorun olmadan yapılandırabilirdim. Ancak DIY maceralarımda en çok güvendiğim yazılım Centauri Carbon 2 ve bu yazılımda şablonlarla ve otomasyon kurallarıyla oynamaya başlamadan önce başka bir araca daha ihtiyacım vardı.

CC2’im için bir yazılımcı proxy sunucusu daha kurmam gerekiyordu
Şu ana kadar oyun planım, Centauri Carbon 2’mden Spoolman’a filament tüketim bilgilerini göndermekti. Ancak böyle bir kurulumdaki en büyük sorun, CC2’nin yalnızca toplam kullanılan filament istatistiklerini raporlayabilmesi; bu da AMS benzeri CANVAS sistemindeki farklı bir besleme tüpüne her geçtiğimde Spoolman kayıtlarımı bozabiliyordu. elegoo-homeassistant, CANVAS tüplerinin kendi başına filament tüketim metriklerini kontrol edemediği için, denkleme lantern-eight‘in geliştirdiği elegoo-printer-proxy paketini dahil etmem gerekiyordu.
Bu konteynerleştirilmiş araç, filament tüketim istatistikleri dahil olmak üzere G-kod detaylarını yakalıyor ve Home Assistant’a (ve dolayısıyla Spoolman’a) göndererek HASS’ın, 3B yazıcımın STL dosyalarını somut modellere dönüştürürken ne kadar filament harcadığına dair bir tahmin yürütmesine yardımcı oluyor.
Bu proxy sunucusunu kurmak da oldukça basitti. Önce, paketi yerel bir VM’e çekmek için git clone https://github.com/lantern-eight/elegoo-printer-proxy komutunu çalıştırdım. Ardından, nano düzenleyicisiyle compose.yml dosyasını açıp tüm IP adresi alanlarındaki alt ağları, ev ağımda kullanılanla eşleştirdim.
Yazıcılar için .env.cc1 ve .env.cc2 dosyalarını açıp IP adresi alanlarını sırasıyla Centauri Carbon 1 ve 2’nin ağ bilgilerine göre düzenledim. Ayrıca vekil sunucuların IP adreslerini VM’inim’in Ethernet arayüzüne atamam gerekiyordu, bu nedenle sudo ip addr add IP_address dev ens18 komutunu çalıştırdım. Ardından vekil sunucuyu sonuna kadar dağıtmak için sudo docker compose up -d –build komutunu çalıştırdım.
Neden güvenlik bilincine sahip benim bu kök yetkili Docker kurulumuna başvurmak zorunda kaldığımı merak ediyorsanız, bunun nedeni köksüz modun Docker’ın vekil sunucunun 1024’ün altındaki tüm portlarına erişimi kurarken ağ hataları vermesidir. Ancak vekil sunucuyu barındırmak için yalnızca izole edilmiş bir makine kullandığımdan, Docker’ı tam yönetici yetkileriyle çalıştırmanın güvenlik sonuçlarıyla fazla uğraşmam gerekmiyor. Son olarak, Elegoo Slicer’da CC2’nin IP adresini değiştirmeden önce vekil sunucunun URL’sini elegoo-homeassistant entegrasyonuna ekledim.
Ancak otomasyonların kendileri oldukça kolaydı
Yine de filament adlarını tutarlı tutmam gerekiyordu
Vekil sunucu ve entegrasyonlar en iyi durumda olduğunda, bu kurulum için gereken tetikleme-aksiyon kurallarına dikkatimi çevirme zamanı gelmişti. elegoo-homeassistant entegrasyonu filament takibiyle ilgili detaylı dokümantasyon sunduğundan, şablonları ve otomasyon iş akışlarını kendi kurulumumda sorunsuz bir şekilde kopyalayabildim.
Öncelikle rest_command ve helper şablonlarını Home Assistant hub’ımın configuration.yaml dosyasına File Editor uygulamasını kullanarak yapıştırdım. Ardından HASS kurulumumu yeniden yüklemeden önce her besleme borusu için slot başına Spoolman ağırlığı şablonunu ekledim.
Ardından, Spoolman merkezime kullanılan filamentin düşülmesinden sorumlu Update Spoolman From Filament Name betiğini yapılandırdım. Otomasyonlara gelince, Home Assistant’ın Cache CC2 Slot Data kodunu YAML olarak ekledim ve ardından sensor.centauri_carbon_2_a1_grams dahil diğer filament izleyici varlıklarının ID’lerini kendi kurulumumdaki isimlerle eşleştirmek için düzenledim.
Aynı zamanda, her baskıdan sonra önbelleği temizlemek için Reset CC2 Slot Cache otomasyonunun kodunu girdim; CC2 Spoolman Update otomasyonu ise her baskı tamamlandığında Update Spoolman From Filament Name betiğini çağırıyor.
Bununla birlikte, Spoolman’daki filament isminin Elegoo Slicer’dakiisle aynı olması durumunda yalnızca tetikleme-aksiyon hattının çalıştığını fark etmem birkaç başarısız denememi aldı. Bu nedenle, otomasyon iş akışım boyunca isimlendirme şemimin tutarlı kaldığından emin olduktan sonra, hattı test etmek için hızlıca bir benchy modeli oluşturdum. Ve gerçekten de, başarılı baskıların ardından Home Assistant, Spoolman’ı filament kullanım metrikleri hakkında bilgilendirebildi.
Kurulum süreci kesinlikle ekstra emeğe değerdi
Home Assistant + Spoolman kombinasyonumun filament istatistiklerimi gerçek zamanlı olarak yalnızca izlemekle kalmayıp, aynı zamanda makara envanterimi özel panollerde gösterdiğini göz önünde bulunduran bir şekilde, bu otomasyon hattından memnunum. Kağıt üzerinde biraz karmaşık görünebilir, ancak Docker konteynerleriyle ve HASS entegrasyonlarıyla daha önce haşır neşir olduysanız, genel süreç oldukça basittir.
Bu Gelişmeyi Toplulukta Değerlendirin
Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.
Bu gelişme hakkında düşüncelerinizi, donanım deneyimlerinizi veya sorularınızı Topluluk Forumumuzda paylaşın.
Foruma Katıl & Yanıtla ➔




Söz sizde.
Deneyiminizi, sorularınızı ve katkılarınızı paylaşın. E-posta adresiniz yayımlanmaz.