tyler22
@walker-t · Haziran 2025 tarihinde katıldı
Data analyst · manufacturing
- Konular
- 3
- Yanıtlar
- 15
- Puan
- 0
Oluşturulan forum yanıtları
Yapay zekâ tarafından English dilinden çevrildi ·
Bu feature.access.checked satırları organizasyonumuzdaki her şeyi gömer. Bunları listeden gizleyebilir miyim?
Those feature.access.checked rows would bury everything on our org. Can I hide them from the list?
Fair, I mixed up two different setups. Bias it is.
Yapay zekâ tarafından English dilinden çevrildi ·
Alarm bildirimleri için bastırılmış olanları nerede görebilirim? Bunları bir flow üzerinden göndermiyoruz.
Where do I see suppressed ones for alarm notifications? We don’t send those from a flow.
Always terminate, put 120 ohm at every meter.
Yapay zekâ tarafından English dilinden çevrildi ·
GPS bir konum sabitliyor mu? Kapalı alanlarda NEO-6M dakikalarca 0 uydu ile bekleyebilir ve TinyGPS size 0.0 verir.
Is the GPS getting a fix? Indoors the NEO-6M can sit for minutes with 0 sats and TinyGPS will give you 0.0.
What Carlos said, here’s the version I use for our line counters (an Uno doing the counting, a bigger board doing the network). Send binary, fixed size, in one struct, and use onReceive for commands.
Shared struct, in both sketches:
struct Reading {
int16_t moisture; // raw ADC
int16_t temp_x10; // 21.5 C -> 215
int16_t flow_x10; // L/min x10
};
Uno (slave):
volatile Reading r;
volatile bool openValve = false;
void requestEvent() { Wire.write((const uint8_t*)&r, sizeof(r)); } // one write
void receiveEvent(int n) { if (Wire.available()) openValve = Wire.read() == 1; }
void setup() { Wire.begin(8); Wire.onRequest(requestEvent); Wire.onReceive(receiveEvent); }
void loop() {
Reading tmp = { readMoisture(), (int16_t)(readTemp() * 10), (int16_t)(readFlow() * 10) };
noInterrupts(); r = tmp; interrupts();
digitalWrite(VALVE_PIN, openValve);
}
Mega (master):
Reading r;
if (Wire.requestFrom(8, (int)sizeof(r)) == sizeof(r)) Wire.readBytes((uint8_t*)&r, sizeof(r));
float tempC = r.temp_x10 / 10.0;
Wire.beginTransmission(8); Wire.write(1); Wire.endTransmission(); // open valve
Both are AVR, so byte order and int sizes match and the struct goes across as-is. The ÿ you saw is 0xFF, what the master reads when the slave has nothing left to send. Asking for exactly sizeof(r) fixes that too.
Welcome. Will remember the screenshot rule, I usually just say “the chart is weird”.
Yapay zekâ tarafından English dilinden çevrildi ·
Ayrıca eski Adafruit_DHT kütüphanesini kullanıyorsanız, bu kütüphane artık desteklenmiyor. Güncel Pi OS üzerinde CircuitPython sürümü çalışıyor: adafruit-circuitpython-dht ile birlikte board.D4.
Also if you’re on the old Adafruit_DHT library, it’s deprecated. The circuitpython one works on current Pi OS: adafruit-circuitpython-dht plus board.D4.
Before picking, which ones can have a power supply? That decides more than the radio does.
Yapay zekâ tarafından English dilinden çevrildi ·
Çalışıyor. Tek sorunum: katalogda light.set yok; entegratörümüz buna relay.set dedi ve state (0 veya 1) adında bir parametre kullanıyor. rpc-commands çağrısı bunu hemen gösterdi. İlk atadığım kısayol Super+L idi, bu da tabii ekranı kilitliyor; şimdi Super+F9 üzerinde.
Works. My only snag: the catalogue doesn’t have light.set, our integrator called it relay.set with a param called state (0 or 1). The rpc-commands call showed it straight away. First binding was Super+L which of course locks the screen, it’s on Super+F9 now.
Yapay zekâ tarafından English dilinden çevrildi ·
Doğru, bu kartın geri dönmesini açıklıyor. Yani /api/v1/rpc mi? Cihazın HTTP sayfasında bu listeleniyor
right, that explains the card flipping back. so is it /api/v1/rpc? the device HTTP page lists that one
Driver fixed it, COM7 appeared straight away. Going with the wide ones because the photo-eye interface runs on 5 V and the VU pin saves me a buck converter. Already counting on an interrupt and sending count once a minute.
Yapay zekâ tarafından English dilinden çevrildi ·
Çalışıyor. İlk çağrı, yalnızca gönderme iznini işaretleyip iot_rpc.read iznini eklemediğim için 403 döndü. Bu izni ekledikten sonra lamba tıklıyor ve çağrı yaklaşık 300 ms içinde 200 / SUCCESSFUL döndürüyor. Ayrıca operatörlerin panosuna, durumu görmeleri için relay değişkenine bağlı bir Switch kartı ekledim. İkinize de teşekkürler.
Works. First call came back 403 because I had only ticked the send permission and not iot_rpc.read. After adding it the lamp clicks and the call returns 200 / SUCCESSFUL in about 300 ms. I also put a Switch card on the operators’ board bound to relay, so they see the state. Thanks both.
Yapay zekâ tarafından English dilinden çevrildi ·
Ödünç aldığım bir FTDI adaptörle yükledim; boot moduna almam üç denememi aldı (takarken düğmeyi basılı tutarak). Artık Hermetry’ye kendi erişim belirteciyle bağlanıyor ve her dakika {"relay": 0} gönderiyor. Yani gönderme kısmı tamam. Peki ya röleyi değiştirmek?
Flashed it with a borrowed FTDI adapter, took me three tries to get it into boot mode (hold the button while plugging in). It now connects to Hermetry with its own access token and sends {"relay": 0} every minute. So the sending part is done. What about switching it?
Yapay zekâ tarafından English dilinden çevrildi ·
Dikkatli olun, indirip çalıştırılabilir bir imaj olduğunu sanmıyorum. Planlar sayfasında, yerinde (on-premises) kurulumların Enterprise planlarında olduğu gibi satış ekipleriyle kararlaştırıldığı yazıyor; yani bu bir düğme değil, bir görüşme konusu.Diğer iki soruyu bugün kendisine yanıtlayabilirsiniz; uyum ekibimize de tam olarak bunu yaptım:Verilerin yeri: Her kuruluşun, oluşturulduğunda seçilen tek bir ana bölgesi vardır: AB, ABD veya Türkiye. Cihazlar, telemetri, alarmlar, panolar, akışlar ve denetim günlüğünün tamamı orada bulunur. Sahip veya yönetici olarak Ayarlar’ı, ardından Residency (Veri ikameti) sekmesini açın (adresi /admin/settings/residency). Burada ana bölge, varsa veri ikameti gereksinimi, bölge bilgileri, alt işleyiciler ve yedeklerin nerede tutulduğu görünür. Bu sayfanın ekran görüntüsünü aldım ve cevabın büyük kısmı buydu.Verileri dışarı almak iki bölümden oluşur. Bir sahip, kuruluşun JSON dışa aktarımını alabilir (cihazlar, panolar, üyeler, ayarlar, webhook’lar, denetim günlüğünün bir kısmı). Telemetri geçmişi ayrıca, geçmiş API’si veya bir grafik kartındaki indirme seçeneğiyle alınır; pano dosyalarını ise tek tek pano bazında indirebilirsiniz. Her cihaz için saatlik ortalamaları her ay CSV olarak çeken küçük bir betik yazdım, böylece her zaman kendi kopyamız olur.BT ekibimize gönderdiğim sayfalar: Regions and data residency, ayrıca “Export your data and close your organisation” sayfası.
Careful, I don’t think there’s a download-and-run image. The plans page says on-premises installs are agreed with their sales team, same as Enterprise plans, so that’s a conversation, not a button.
For the other two questions you can answer him today, I did exactly this for our compliance people:
Where the data is: every organisation has one home region, EU, US or Turkiye, picked when it was created. Devices, telemetry, alarms, boards, flows, audit log all live there. As owner or admin open Settings, then Residency (it’s at /admin/settings/residency). It shows the home region, any residency requirement, the region facts, the sub-processors and where backups are kept. I screenshotted that page and that was most of the answer.
Getting it out is two parts. An owner can pull a JSON export of the organisation (devices, boards, members, settings, webhooks, part of the audit log). Telemetry history goes separately, with the history API or the download on a chart card, and board files you download one board at a time. I wrote a little script that pulls hourly averages per device into CSV every month, so we always have our own copy.
Page I sent our IT: Regions and data residency, plus the “Export your data and close your organisation” one.

