Saya memiliki bin mencari solusi untuk pertanyaan saya tetapi tidak menemukan atau lebih baik mengatakan saya tidak mendapatkannya dengan apa yang saya temukan. Jadi mari kita bicara tentang masalah saya. Saya menggunakan Smart Home Control Software pada Raspberry Pi dan ketika saya mengetahui akhir pekan ini menggunakan pilight-accept, saya dapat menangkap data dari sensor suhu luar ruang saya. Output Pilight-accept terlihat seperti itu:
{
"message": {
"id": 4095,
"temperature": 409.5
},
"origin": "receiver",
"protocol": "alecto_wsd17",
"uuid": "0000-b8-27-eb-0f3db7",
"repeats": 3
}
{
"message": {
"id": 1490,
"temperature": 25.1,
"humidity": 40.0,
"battery": 1
},
"origin": "receiver",
"protocol": "alecto_ws1700",
"uuid": "0000-b8-27-eb-0f3db7",
"repeats": 3
}
{
"message": {
"id": 2039,
"temperature": 409.5
},
"origin": "receiver",
"protocol": "alecto_wsd17",
"uuid": "0000-b8-27-eb-0f3db7",
"repeats": 4
}
Sekarang pertanyaan saya kepada Anda: Bagaimana sih saya bisa mengekstraksi suhu dan kelembaban dari tempat id adalah 1490. Dan bagaimana Anda merekomendasikan saya untuk melakukan ini? Dengan pekerjaan cron yang berjalan setiap 10 menit, menciptakan output dari Pilight-accept, mengekstrak data output dan mendorongnya ke Smart Home Control Api.
Seseorang yang punya ide - terima kasih banyak
awk
dan sed
asalkan output JSON mempertahankan format yang ditunjukkan di sini, yang tidak perlu - spasi putih tidak masalah untuk JSON. Sebagai contoh, awk
perintah ini : awk '/temperature|humidity/ {print $2}'
sudah dekat.