dev_ilgaz
@ergun-i · Mitglied seit Dezember 2025
Backend geliştirici · yazılım
- Themen
- 3
- Antworten
- 24
- Punkte
- 0
Erstellte Forenantworten
Von Türkçe mit KI übersetzt ·
Gerne, aber starte den Dienst nicht als root. Füge den Benutzer der Gruppe dialout hinzu: sudo usermod -aG dialout $USER, danach abmelden und wieder anmelden.
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.
Von Türkçe mit KI übersetzt ·
In der Dokumentation gibt es für Geräte MQTT 3.1.1 (8883 TLS, bei erlaubtem Profil 1883) und HTTPS, MQTT über Websocket gibt es nicht. Der Weg vom Browser zum Broker ist also geschlossen, und ich finde das gut so, denn das Geräte-Token ist die Identität des Geräts, nicht die des Lesers.Zum Lesen wird die REST API verwendet. Für die letzten Werte gibt es diesen Endpunkt:
GET /tenant/<tenantId>/api/telemetry/latest?kind=iot_device&entityId=<cihazId>&keys=temperature,humidity
Authorization: Bearer sk_live_...
Aber den API-Schlüssel solltest du auch nicht in den Browser legen, das ist dasselbe Problem. Ich habe es bei mir zu Hause so gemacht: Auf einem Raspberry Pi läuft eine 20-zeilige Flask-Anwendung, der Schlüssel steht in deren Umgebungsvariable. Die Seite fragt bei Flask unter /sera an, Flask fragt bei Hermetry nach und gibt nur zwei Zahlen zurück.Beim Erstellen des Schlüssels gib auf der Seite API Keys nur das Leserecht für Telemetrie (in den Modulen gibt es die fertige Voreinstellung Read only) und trag die externe IP des Hauses in die IP-Allowlist ein. Der Schlüssel wird nur einmal angezeigt, also nicht vergessen, ihn zu kopieren.Details: Historien-API und die Seite zur Authentifizierung. Noch einfacher: ein kleines Dashboard in Hermetry bauen und deine Mutter als Benutzerin in die Organisation einladen. Wenn du aber eine Seite mit nur einer Zahl fürs Handy willst, ist der Flask-Weg praktisch.
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.
Von Türkçe mit KI übersetzt ·
Zur Hardware kann ich nichts sagen, aber wie wäre es, statt alle 10 Minuten einzeln einen POST zu senden, die Messwerte zu sammeln und stündlich als Reihe zu übertragen? Hermetry akzeptiert in einer einzigen Nachricht eine Reihe von Datensätzen mit ts, und beim Kontingent zählt das ebenfalls als eine Nachricht.
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.
Von Türkçe mit KI übersetzt ·
Dafür ist kein Flow nötig, die Regelkarte („Rules card“) auf dem Dashboard ist genau dafür da. Ich habe es bei mir zu Hause genauso gemacht.Lege zuerst unter Sites & Assets einen Standort „Zuhause“ an, gib Breiten- und Längengrad ein und platziere den ESP32 dort. Füge dann dem Dashboard die Rules-Karte hinzu und sperre die Karte auf diesen Ort. Regeln:
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“ löst flankenbasiert aus, läuft also einmal in dem Moment, in dem 22 überschritten wird, und nicht bei jeder Nachricht. Der Abstand zwischen 22 und 20 verhindert außerdem, dass die Therme ständig ein- und ausschaltet. Für den Sonnenuntergang muss der Standort hinterlegt sein, sonst warnt das Speichern mit „Sunrise and sunset need this place’s location“.Vor dem Urlaub den Auto/Manual-Schalter des Orts auf Manual stellen, dann senden die Regeln nichts. Details: Regelkarte: Auslöser.
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.
Von Türkçe mit KI übersetzt ·
Das Beispiel zur Wärmeausdehnung habe ich mir auch notiert, in unserer Heizungszentrale gab es dieselbe Diskussion. Zu Safe frage ich gesondert nach, aber die Ventilfrage ist meiner Meinung nach erledigt.
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.
Von Türkçe mit KI übersetzt ·
Ich habe mich bei Safe auch gefragt, ich glaube, es wird mit einer separaten Lizenz freigeschaltet. Wir sollten wohl den Vertrieb kontaktieren.
Safe’i ben de merak etmiştim, sanırım ayrı bir lisansla açılıyor. Satışa yazmak lazım galiba.
Von Türkçe mit KI übersetzt ·
Es sollte ausreichen, beide Schalter auf der Karte nebeneinander auszuwählen. Schreibe beide in das Feld keys.
Kartta iki anahtarı yan yana seçmen yeterli olmalı, keys alanına ikisini yaz.

