dev_ilgaz
@ergun-i · Joined December 2025
Backend geliştirici · yazılım
- Topics
- 3
- Replies
- 24
- Points
- 0
Forum Replies Created
Translated from Türkçe by AI ·
That’s fine, but don’t run the service as root. Add the user to the dialout group: sudo usermod -aG dialout $USER, then log out and log back in.
Olur ama servisi root ile çalıştırma. Kullanıcıyı dialout grubuna ekle: sudo usermod -aG dialout $USER, sonra çıkış yapıp tekrar gir.
Tanımlı, gönderirken pin 3’ü HIGH, sonra LOW yapıyor. Osiloskobum yok ama modülün TX LED’i yanıp sönüyor.
Translated from Türkçe by AI ·
The documentation lists MQTT 3.1.1 for devices (8883 TLS, 1883 if the profile allows it) and HTTPS, with no MQTT over websocket. So the path from the browser to the broker is closed, and I think that’s a good thing, because the device token is the device’s identity, not the reader’s identity.Reading is done through the REST API. For the latest values there is this endpoint:
GET /tenant/<tenantId>/api/telemetry/latest?kind=iot_device&entityId=<cihazId>&keys=temperature,humidity
Authorization: Bearer sk_live_...
But you shouldn’t put the API key in the browser either, same problem. At home I did it like this: there is a 20-line Flask application on a Raspberry Pi, and the key is stored in its environment variable. The page asks Flask at /sera, Flask asks Hermetry, and it returns only two numbers.When creating the key, on the API Keys page give only telemetry read permission (there is a ready-made Read only preset in the modules), and enter the home’s external IP in the IP allowlist. The key is shown only once, so don’t forget to copy it.Details: History API and the authentication page. Even simpler, build a small dashboard in Hermetry and invite your mother to the organization as a user, but if you want a single-number page for your phone, the Flask route is convenient.
Dokümanda cihazlar için MQTT 3.1.1 (8883 TLS, profil izin verirse 1883) ve HTTPS var, websocket üzerinden MQTT yok. Yani tarayıcıdan broker’a bağlanma yolu kapalı, bence iyi ki de kapalı, çünkü cihaz token’ı cihazın kimliği, okuyucu kimliği değil.
Okumak için REST API kullanılıyor. Son değerler için şu uç var:
GET /tenant/<tenantId>/api/telemetry/latest?kind=iot_device&entityId=<cihazId>&keys=temperature,humidity
Authorization: Bearer sk_live_...
Ama buradaki API anahtarını da tarayıcıya koymamalısın, aynı sorun. Ben kendi evde şöyle yaptım: evdeki Raspberry Pi’da 20 satırlık bir Flask uygulaması var, anahtar onun ortam değişkeninde duruyor. Sayfa Flask’a /sera diye soruyor, Flask Hermetry’ye soruyor, sadece iki sayıyı döndürüyor.
Anahtarı oluştururken API Keys sayfasında sadece telemetri okuma iznini ver (modüllerde Read only hazır ayarı var), IP allowlist’e de evin dış IP’sini yaz. Anahtar sadece bir kere gösteriliyor, kopyalamayı unutma.
Ayrıntılar: Geçmiş API’si ve kimlik doğrulama sayfası. Daha da basiti, Hermetry’de küçük bir dashboard yapıp annenleri organizasyona kullanıcı olarak davet etmek, ama telefon için tek sayılık sayfa istiyorsan Flask yolu rahat.
Netleşti. 868’leri ekledim, ikisi hemen join oldu. 915 ve 433’leri satıcıya iade ediyoruz, Zigbee olanı da çekmeceye. Teşekkürler.
Translated from Türkçe by AI ·
I don’t know about the hardware side, but instead of sending a separate POST every 10 minutes, how about collecting the readings and sending them as a series once an hour? Hermetry accepts a series of records with ts in a single message, and for quota purposes it also counts as one message.
Donanım kısmını bilmem ama 10 dakikada bir ayrı ayrı POST atmak yerine okumaları biriktirip saatte bir dizi halinde göndersen? Hermetry tek mesajda ts‘li kayıt dizisini kabul ediyor, kota açısından da tek mesaj sayılıyor.
Translated from Türkçe by AI ·
No flow is needed for this, the Rules card on the dashboard is made for exactly this. I did the same at home.First, create a site called “Home” in Sites & Assets, enter its latitude and longitude, and place the ESP32 there. Then add the Rules card to a dashboard and lock the card to that location. Rules:
1) When: A time of day, 06:30, Mon-Fri
Then: Send a command -> esp32-ev, relay.set {"ch":1,"on":true}
2) When: salon_temp rises above 22, and stays so for 10 minutes
Then: Send a command -> relay.set {"ch":1,"on":false}
3) When: salon_temp falls below 20
Then: Send a command -> relay.set {"ch":1,"on":true}
4) When: Sunset, offset 0
Then: relay.set {"ch":2,"on":true}
5) When: A time of day, 00:30, every day
Then: relay.set {"ch":2,"on":false}
“rises above” triggers on the edge, so it runs once at the moment it goes above 22, not on every message. The gap between 22 and 20 also prevents the boiler from switching on and off constantly. Sunset needs the location of the place, otherwise it warns “Sunrise and sunset need this place’s location” when you save.When going on holiday, set the place’s Auto/Manual button to Manual; the rules then send nothing. Details: Rules card: triggers.
Bunun için akışa hiç gerek yok, dashboard’daki Kurallar kartı (Rules card) tam bu iş için. Ben evde aynısını yaptım.
Önce Sites & Assets’te “Ev” diye bir site aç, enlem ve boylamını gir, ESP32’yi oraya yerleştir. Sonra bir dashboard’a Rules kartını ekle ve kartı o yere kilitle. Kurallar:
1) When: A time of day, 06:30, Mon-Fri
Then: Send a command -> esp32-ev, relay.set {"ch":1,"on":true}
2) When: salon_temp rises above 22, and stays so for 10 minutes
Then: Send a command -> relay.set {"ch":1,"on":false}
3) When: salon_temp falls below 20
Then: Send a command -> relay.set {"ch":1,"on":true}
4) When: Sunset, offset 0
Then: relay.set {"ch":2,"on":true}
5) When: A time of day, 00:30, every day
Then: relay.set {"ch":2,"on":false}
“rises above” kenarda tetikleniyor, yani 22’yi geçtiği an bir kez çalışıyor, her mesajda değil. 22 ile 20 arasındaki boşluk da kombinin sürekli aç kapa yapmasını engelliyor. Gün batımı için yerin konumu şart, yoksa kaydederken “Sunrise and sunset need this place’s location” diye uyarıyor.
Tatile giderken yerin Auto/Manual düğmesini Manual’e al, kurallar hiçbir şey göndermez. Ayrıntılar: Kurallar kartı: tetikleyiciler.
Translated from Türkçe by AI ·
I also noted the thermal expansion example, and we had the same discussion in our boiler room. I’ll ask about Safe separately, but I think the valve question is closed.
Termal genleşme örneğini ben de not aldım, bizim kazan dairesinde de aynı tartışma olmuştu. Safe’i ayrıca soracağım ama ventil konusu kapandı bence.
Translated from Türkçe by AI ·
I was also wondering about Safe, I think it’s unlocked with a separate license. I guess we need to contact sales.
Safe’i ben de merak etmiştim, sanırım ayrı bir lisansla açılıyor. Satışa yazmak lazım galiba.
Translated from Türkçe by AI ·
Selecting both switches side by side on the card should be enough, write both in the keys field.
Kartta iki anahtarı yan yana seçmen yeterli olmalı, keys alanına ikisini yaz.

